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

Posted 昊虹算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()详解的主要内容,如果未能解决你的问题,请参考以下文章

matlab 将数字矩阵转换成图像

您好。我用gray2ind函数转换为伪彩色图像然后用imshow显示,为啥图像全白或全黑呢?

matlab图像处理

详解OpenCV的函数imread()和函数imshow(),并利用它们实现对图像的读取和显示

1_Matlab实现图像显示及其代数操作

Matlab中imageimagesc和imshow函数用法解析