MATLAB中的imshow()的所有原型如下:
imshow(I)imshow(I,[low high])imshow(X,map)imshow(filename)imshow(___,Name,Value)himage = imshow(___)
常用的原型如下:
imshow(I)imshow(I,[low high])imshow(filename)
下面分别介绍常用的原型:
imshow(I)—在窗口中显示图像 I,图像I可以是灰度图像,也可是RGB真彩色图像,也可以是二值图像。对于二值图像,imshow 将值为 0(零)的像素显示为黑色,将值为 1 的像素显示为白色。对于灰度图像和RGB图像,则按0~255的灰度级显示。
imshow(I,[low high])—根据向量[low high]来显示灰度图像,此时函数imshow()将小于等于low的值显示为黑色,将大于等于high的值显示为白色,介于low和high之间的值显示为不同程度的灰色。
如果不指定low和high的值,则退变为imshow(I,[ ]),此时low的值为图像I中的最小值,high为图像I中的最大值。相当于对I作了归一化处理后才显示。
imshow(filename)—filename为图像文件的路径和名字,示例如下:
imshow('F:\material\images\P0003-view-01.jpg');
使用上面的语句可以直接显示图片“P0003-view-01.jpg”
由以上原型,我们得到使用函数imshow()应该注意的地方。
1 如果图像是做运算得到的,使其数据范围不以0~255的256个灰度等级为基准,则应归一化后再显示图像,即需要使用语句“imshow(I,[])”来显示图像,否则图像的显示效果会因为对比度不够或数据截断而大打折扣,甚至让自己误认为自己的运算有问题。
2 显示硬盘中的图片文件,并不需要先使用函数imread()进行读取后再用函数imshow()显示,直接使用imshow(filename) 即可,即下面的代码:
I= imread('F:\material\images\P0003-view-01.jpg');imshow(I);
可直接替换为:
imshow('F:\material\images\P0003-view-01.jpg');
最后,对这篇博文有不明白的可以加微信/QQ 2487872782交流。