Image shows with imshowpair, but not with imshow

5 vues (au cours des 30 derniers jours)
Ashley Salisbury
Ashley Salisbury le 22 Juil 2020
I am writing a function that reads an image and converts it to BW. I am able to use imshowpair to display the unedited and edited images next to each other, but can't individually show just the edited (BW) image. What should I do?
midAirImage = imread("MidAirTest.jpg");
bwImage = imbinarize(midAirImage,'adaptive','ForegroundPolarity','dark','Sensitivity',0.4);
imshowpair(midAirImage, bwImage, 'montage')

Réponse acceptée

Abhishek Gangwar
Abhishek Gangwar le 22 Juil 2020
Modifié(e) : Abhishek Gangwar le 22 Juil 2020
Your binary image should be 2 dimensional, if it is not convert the original image into gray cale and then create binary image,
midAirImage = imread("MidAirTest.jpg");
midAirImage = rgb2gray(midAirImage);
bwImage = imbinarize(midAirImage,'adaptive','ForegroundPolarity','dark','Sensitivity',0.4);
imshowpair(midAirImage, bwImage, 'montage')
imshow(bwImage);

Plus de réponses (1)

Constantino Carlos Reyes-Aldasoro
You have two options, use subplots
subplot(121)
imagesc(midAirImage)
subplot(122)
imagesc( bwImage)
Alternatively you can concatenate your images like this
imagesc( [ midAirImage bwImage])
Notice that the binary will be between 0 and 1 and the original between 0 and 255 so you need to scale:
imagesc( [ midAirImage 255*bwImage])
Hope this helps to solve your problem.

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by