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

8 Ansichten (letzte 30 Tage)
Yumi Iwakami
Yumi Iwakami am 15 Apr. 2017
Kommentiert: Yumi Iwakami am 10 Jul. 2017
ある2値画像に白い線を引いて保存したいのですができません. 違う色だと保存できるのですが,白だと保存できません.なにが原因でしょうか?
imshow(BW_IMG,'Border','tight');
hold on
plot(X,Y,'w');
print('A.bmp','-dpng','-r0');
  3 Kommentare
mizuki
mizuki am 16 Apr. 2017
Bearbeitet: mizuki am 16 Apr. 2017
以下のコードでは、グレースケールの画像に白のラインを描いて保存ができています。
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 am 10 Jul. 2017
コメントありがとうございます.
1は見えています. 2ですが,白の領域のない部分にプロットしても出てこないので,重なっているとは考えにくいです. 3.黒は背景が黒であるため試していませんが,シアンやマゼンタなどの別の色は可能でした.
このときは急ぎだったので,シアンで線を引いて,もう一度2値化する処理をいれて回避しました.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jiro Doke
Jiro Doke am 7 Jul. 2017
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 Kommentar
Yumi Iwakami
Yumi Iwakami am 10 Jul. 2017
このときは急ぎだったので,別の色で線を引き,また2値化するという処理を挟みました. 同じ現象のときにやってみます. ありがとうございます.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!