Why is image colored instead of white?

1 回表示 (過去 30 日間)
mark palmer
mark palmer 2020 年 7 月 2 日
コメント済み: mark palmer 2020 年 7 月 3 日
Why does obj not show white in the colored areas? The numbers read 255 but they come out colored in the image...
pic1 = imread('Testcircls.tif');
obj = uint8(ones(size(pic1)));
mask = pic1 > 0;
pic1(mask) = 255;
obj = pic1;
imagesc(obj)

採用された回答

Walter Roberson
Walter Roberson 2020 年 7 月 3 日
You are comparing component by component. You are not testing whether any of the RGB components for a pixel are greater than zero: you are testing whether the individual components are greater than 0. When you have pure colors like you have, one or two of the RGB components are 0, and those stay 0 with your code.
pic1 = imread('Testcircls.tif');
obj = uint8(ones(size(pic1)));
mask = repmat(any(pic1 > 0, 3), [1 1 size(pic1,3)]);
pic1(mask) = 255;
obj = pic1;
image(obj)
  1 件のコメント
mark palmer
mark palmer 2020 年 7 月 3 日
Ah yes, of course! Thanks!

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by