マトラブで、
私が行った場合:
output = false(5, 5);
imshow(output);
白いバイナリの正方形の画像ではなく、黒い正方形が表示されます。これには何か理由がありますか?白いバイナリ正方形を出力するにはどうすればよいですか?
その理由は、false
にマップされ0
、にtrue
マップされているため1
です。また、画像を表示する場合は、数値が大きいほど強度が高くなります。白は黒よりも強度があります。
それについて考える別の方法は、通常、256個の値があるということです- 0-255
。0
完全に黒で255
完全に白です。ここで、2色への量子化を行うと想像してください。0
黒でなければならないことは今や明らかです。
白い四角を表示するには、
output = true(5,5)
あなたは不完全を使うことができます
imshow(imcomplement(false(5, 5)))
またはデフォルトのカラーマッピングを変更します(imshowのドキュメントから引用)
imshow(X,map)
インデックス付きイメージ X をカラーマップ map と共に表示します。カラー マップ マトリックスには任意の数の行を含めることができますが、正確に 3 列である必要があります。各行は色として解釈され、最初の要素は赤の光の強度を指定し、2 番目の要素は緑、3 番目の要素は青を指定します。色の濃さは 0.0 ~ 1.0 の範囲で指定できます。
Figure のカラーマップを変更して、 MATLAB が値を色にマッピングする方法をカスタマイズすることもできます。
BW = [false,true;true,false];
imshow(BW)
set(gcf, 'Colormap',[1,1,1;0,0,0])