ある2値画像に白い線​を引いて保存したいの​ですができません.

8 次查看(过去 30 天)
Yumi Iwakami
Yumi Iwakami 2017-4-15
ある2値画像に白い線を引いて保存したいのですができません. 違う色だと保存できるのですが,白だと保存できません.なにが原因でしょうか?
imshow(BW_IMG,'Border','tight');
hold on
plot(X,Y,'w');
print('A.bmp','-dpng','-r0');
  3 个评论
mizuki
mizuki 2017-4-16
编辑:mizuki 2017-4-16
以下のコードでは、グレースケールの画像に白のラインを描いて保存ができています。
I = imread('peppers.png');
BW_IMG = rgb2gray(I);
X = 50:100;
Y = 50:100;
imshow(BW_IMG,'Border','tight');
hold on
plot(X,Y,'w');
print('A.bmp','-dpng','-r0');
問題の切り分けをするために、以下の点について教えていただけますでしょうか。
  1. 画像を保存する前の plot 関数実行後の出力画像上では白のラインは見えていますでしょうか。
  2. 画像の白い部分に白の線をのせているということはありませんでしょうか。
  3. 黒のラインではいかがでしょうか。
Yumi Iwakami
Yumi Iwakami 2017-7-10
コメントありがとうございます.
1は見えています. 2ですが,白の領域のない部分にプロットしても出てこないので,重なっているとは考えにくいです. 3.黒は背景が黒であるため試していませんが,シアンやマゼンタなどの別の色は可能でした.
このときは急ぎだったので,シアンで線を引いて,もう一度2値化する処理をいれて回避しました.

请先登录,再进行评论。

采纳的回答

Jiro Doke
Jiro Doke 2017-7-7
Figure InvertHardCopy プロパティを変更すればうまく行くかと思います。上の Mizuki さんのサンプルを借りますと
I = imread('peppers.png');
BW_IMG = imbinarize(rgb2gray(I));
X = 50:100;
Y = 50:100;
imshow(BW_IMG,'Border','tight');
hold on
plot(X,Y,'w');
set(gcf,'InvertHardCopy','off') % <-- 色をディスプレイ上と同じ色にする
print('A.bmp','-dpng','-r0');
  1 个评论
Yumi Iwakami
Yumi Iwakami 2017-7-10
このときは急ぎだったので,別の色で線を引き,また2値化するという処理を挟みました. 同じ現象のときにやってみます. ありがとうございます.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!