Can't view binary image
7 views (last 30 days)
Show older comments
Dear all, I couldn't view the binary image after runing this code
fab_img = imread('fabric.png');
Img = rgb2gray(fab_img);
BW1 = edge(Img,'sobel');
figure (500)
fig500 = gcf;
ax2 = subplot(1,1,1, 'Parent', fig500);
image(ax2, (BW1));
Any idea how to solve it without using imshow function?
Meshoo
0 Comments
Accepted Answer
Image Analyst
on 14 Apr 2023
I would use imshow also. But if you insist on using image you can do it if you multiply the logical matrix by 255:
fab_img = imread('fabric.png');
Img = rgb2gray(fab_img);
BW1 = edge(Img,'sobel');
image(255 * BW1);
2 Comments
Image Analyst
on 17 Apr 2023
Sorry we can't help you. We offered solutions and for some baffling reason you rejected all of them. "The idea here is not to use imshow function."
fab_img = imread('fabric.png');
subplot(2, 2, 1);
imshow(fab_img);
Img = rgb2gray(fab_img);
BW1 = edge(Img,'sobel');
% Option 1
subplot(2, 2, 2);
imshow(BW1);
% Option 2
subplot(2, 2, 3);
image(255 * BW1);
% Option 3 leave as binary but must convert to 3-D RGB image
subplot(2, 2, 4);
image(cat(3, BW1, BW1, BW1));
The display is just for your viewing pleasure. It doesn't have anything to do with the analysis of the image. I don't know how the image is displayed is of such great concern to you. Just pick one and go with it.
More Answers (1)
Praveen Reddy
on 14 Apr 2023
Edited: Praveen Reddy
on 14 Apr 2023
Hi Mustafa,
I understand that you want to display binary image in a figure. You can use "imshow" method to display binary image.Refer to the following modified code.
fab_img = imread('fabric.png');
Img = rgb2gray(fab_img);
BW1 = edge(Img,'sobel');
figure (500)
fig500 = gcf;
ax2 = subplot(1,1,1, 'Parent', fig500);
imshow(BW1);
To know more about "imshow" method, please refer to the following MATLAB documentation
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!