Matlab在图像处理中的强大功能
Matlab是一款广泛应用于数学处理的软件,但其实它在图像处理方面也有着强大的功能。许多新手在使用Matlab时都会对其能够处理图像的功能感到惊讶。下面,我们将详细介绍Matlab处理图像的方法。
一、图像基本操作
读取和显示图像:
1、我们需要清空Matlab工作平台中的所有变量,以确保准备工作就绪。接着,我们可以使用imread函数读取图像,并使用imshow函数显示图像。例如,要读取名为“pout.tif”的图像并显示出来,你可以使用以下代码:
imread('pout.tif')
imshow(I)
检查内存(数组)中的图像:
我们可以使用whos命令来查看图像的存储信息,例如:
whos
输出结果将显示图像的大小、字节数和存储方式等信息。例如,输出信息可以表示该图像采用8位存储方式并占用了69840B的存储空间。
实现图像直方图均衡化:
1、我们可以通过imhist函数在新图中显示图像的直方图。接着,使用histeq函数进行直方图均衡化处理。最后,使用imshow和imhist函数分别显示均衡化后的图像及其灰度值分布情况。需要注意的是,8位图像的取值范围为[0, 255],16位图像的取值范围为[0, 65535],而双精度图像的取值范围为[0, 1]。
保存图像:
使用imwrite函数可以将处理后的图像保存为其他格式,例如将原先的tif格式另存为png格式:
imwrite(I2, 'pout2.png')
5. 检查新生成文件的信息:
我们可以使用imfinfo函数来观察保存的图像文件信息,例如:
imfinfo('pout2.png')
这将返回关于文件的信息,如文件名、文件格式等。
二、图像处理Matlab的应用实例:消除rice.png图像中亮度不一致的背景,并使用阈值将修改后的图像转换为二值图像,使用成员标记返回图像中对象的个数以及统计特性。按照如下步骤进行:1. 读取和显示图像:
1、我们需要清空Matlab工作平台中的所有变量,以确保准备工作就绪。接着,我们可以使用imread函数读取图像,并使用imshow函数显示图像。例如,要读取名为“rice.png”的图像并显示出来,你可以使用以下代码:
imread('rice.png')
imshow(I)
估计图像背景:
通过使用imopen函数和一个半径为15的圆盘结构元素对输入的图像进行形态学开操作,去掉那些不完全包括在圆盘中的对象,从而实现对背景亮度的估计。接着使用imshow函数显示估计出的背景图像。最后使用surf函数和zlim函数来显示背景表面图(右)。通过这些步骤,我们可以估计出图像的中心位置背景亮度强于其他部分亮度。3. 从原始图像中减去背景图像(原始图像I减去背景图像得到背景较为一致的图像):通过使用imsubtract函数将原始图像减去估计出的背景图像得到背景较为一致的新图像。例如:
I2=imsubtract(I, background);
figure, imshow(I2)
4. 调节图像的对比度(如果图像较暗,可以使用imadjust函数命令来调节图像的对比度)通过使用imadjust函数和stretchlim函数对图像进行对比度调整。例如:
I3=imadjust(I2, stretchlim(I2), [0 1]);