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

 採用された回答

Image Analyst
Image Analyst 2023 年 4 月 14 日

0 投票

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 件のコメント

Mesho
Mesho 2023 年 4 月 17 日
Thank you Image Analyst. I want a solution to the 'image' function properties such that it can show a binary image (not by changing my binary image to another a color or gray image).
Image Analyst
Image Analyst 2023 年 4 月 17 日
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.

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

その他の回答 (1 件)

Praveen Reddy
Praveen Reddy 2023 年 4 月 14 日
編集済み: Praveen Reddy 2023 年 4 月 14 日

0 投票

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

1 件のコメント

Mesho
Mesho 2023 年 4 月 14 日
Thank you Praveen. The idea here is not to use imshow function.
I need to call the figure. The above code works for rgb images but not for binary images and I wonder if there is any way to solve it.

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

カテゴリ

ヘルプ センター および File ExchangeImages についてさらに検索

製品

リリース

R2022b

質問済み:

2023 年 4 月 14 日

コメント済み:

2023 年 4 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by