Why intensity of the image has changed, after masking out image area (using binary mask)?

1 回表示 (過去 30 日間)
Hello,
I have used following code:
new_im=im; % Size (80x84) Bytes(13440) Class (uint16)
bw_mask; % Size (80x84) Bytes(53760) Class (double)
new_im(~bw_mask) = 0; %
After masking out I have following results (zoomed).
As you can see the intensity of the images are different, could anyone tell me please, what I have done wrong?
MATLAB version [2015b]

採用された回答

Hamoon
Hamoon 2015 年 9 月 22 日
Actually it is just about displaying the image, if you check the values of im(60,65) and new_im(60,65) for im and new_im matrices you will see these two values are equal, but when Matlab is displaying a double or uint16 image, it maps each range of values to a specific value probably by using the histogram of the image. So for different images, a specific value can map to different values when Matlab wants to display it. But it’s not the case with uin8 images.
  6 件のコメント
Ivan Shorokhov
Ivan Shorokhov 2015 年 9 月 23 日
編集済み: Ivan Shorokhov 2015 年 9 月 23 日
@Hamoon, @Image Analyst, just woke up, and found so many great answers thank you so much!
So as I understood, there is a problem displaying the image, and you recommend me to use following code:
figure, imshow(im_new,[min(im(:)) max(im(:))]);
or
new_im = imadjust(im,stretchlim(im),[]);imshow(new_im);
or should I convert both images to uint8:
new_im=uint8(im);
Walter Roberson
Walter Roberson 2015 年 9 月 23 日
The images you have are already uint8. Note that my reply was about using image() and imagesc() not about imshow()
If you using your first possibility, where you show im_new according to the range of im, then that would use the same brightness for both, which is good. But it would also imply that two different original images might not use the same brightness for the same stored value, as you are adjusting each according to its brightness range.

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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by