MATLAB的图像显示函数imshow()详解

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交流。

你可能感兴趣的:(图像处理原理,工具,代码,MATLAB,imshow)