How do I resize a binary image?

18 次查看(过去 30 天)
I tried using imresize but it is not showing the image I sent in. The white pixels are no longer there and I just have a blank black background. Thank you.

采纳的回答

Walter Roberson
Walter Roberson 2013-5-10
imresize(double(OriginalImage), .....)
It might be meaningful to convert back to binary afterwards.
  4 个评论
Walter Roberson
Walter Roberson 2013-5-10
Maybe when they said "binary" they didn't mean 0's and 1's; maybe they meant it more in the sense of the data was loaded from a "binary file" instead of from a "text file". Or perhaps somehow it got to be uint8(0) and uint8(1) ?
If the original data is 0's and 1's but is not single() or double() or logical(), then applying double() to the data would work.
Tola
Tola 2013-5-11
The original image is actually a binary image just that performing imresize directly on it removed the white pixels on it and gave a blank black image. But when it was converted to double and imresize done on it, it gave out the correct image in double so I just converted it back to binary. Thank you for your help.

请先登录,再进行评论。

更多回答(1 个)

Josep Llobet
Josep Llobet 2021-8-6
Hi there,
Values in the resized image change to non-binary. Then, you can simply turn to binarize the image for filter the values and turn to have a binary image:
I_BW = imread("hands1-mask.png");
%class(I_BW) % <- to see the type of image
I_BW_resize = imresize(double(I_BW), 2);
%unique(I_BW_resize) % <- to see the diferent values (-0.1659, -0.1564, -0.1516...)
%size(I_BW_resize)
I_BW_resize = imbinarize(I_BW_resize);
imshowpair(I_BW, I_BW_resize, "montage");
%size(I_BW_resize)
%unique(I_BW_resize) % <- to see the diferent values (1, 0)
With the MATLAB app Image Viewer. Using the button you can see the pixel values. For call the app you can do as the example:
imtool(I_BW_resize)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by