Matlab imshow() not showing the image properly
5 次查看(过去 30 天)
显示 更早的评论
I have a simple code to show an image in Matlab. I use imread() to read it and imshow() to show it. the code it below, and the result in not shown properly. hope someone can help me.
img = imread('/home/samuelpedro/Desktop/API - Projecto/coimbra_aerea.jpg');
figure, imshow(img);
the resulting image is below.
the actual image is below
also, if i choose to save it to file as a new jpg it is saved correctly.
*UPDATE 1:
weirdly if i choose to show the axes in the preferences>image processing, it is corrected*
11 个评论
Lakshay Bhandari
2019-2-13
what does "if i choose to show the axes in the preferences>image processing, it is corrected" mean ?
Walter Roberson
2019-2-13
There was an image processing preference as to whether the axes Visible property will be set or not. See iptsetprefs()
回答(3 个)
Image Analyst
2012-12-4
It kind of looks like it's an interlaced file, like a PNG file that's interlaced, but the interlacing is not recognized. Any chance you could post the image so others could try it?
VENKATESAN
2012-12-4
Your path length looks very big. Don't use hyphen (-) symbol in your folders, instead u can use underscore. Try this.. Because there is a hyphen in your folder API-Projecto. But, it is better if you read the file from the work folder and the imshow will be perfect.
Try this
img = imread('/home/samuelpedro/Desktop/API_Projecto/coimbra_aerea.jpg'); figure, imshow(img);
or the other one
img=imread('coimbra_aerea.jpg'); figure, imshow(img); imwrite(img, 'coimbra_aerea.jpg', 'jpg');
2 个评论
Sean de Wolski
2012-12-4
This won't matter. I would guess it is some graphics driver isolated specifically to your machine.
UJJWAL
2012-12-4
I would really request you to post the image file so that others could also try it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Basic Display 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!