MATLAB图像处理工具箱中提供了几个函数可以返回与图像数据有关的信息。这些函数用不同形式返回这些信息,包括:[大谦MATLAB,dqmatlab点com]
选定点的数据值(pixval、impixel函数);
图像中沿一定路径分布的数据值(improfile函数);
图像数据的等值线图(imcontour函数);
图像数据的直方图(imhist函数);
图像数据的综述统计量(mean2、std2和corr2函数);
图像区域的特征度量(regionprops函数)。
像素选择
在MATLAB图像处理工具箱中,有两个函数提供了与图像中指定像素的颜色数据值有关的信息。
pixval函数可以交互显示图像上像素的数据值。它还可以显示两个像素之间的距离。
impixel函数返回选定的一个或一系列像素的数据值。它可以将选定像素的坐标作为输入变量,或者可以用鼠标选择像素。
在使用pixval函数时,首先显示一幅图像,然后输入pixval命令。pixval函数在图像下面输出一个黑色长条,这个黑色长条可以显示鼠标下方像素的坐标值(x, y)和该像素的颜色数据。
如果在图像上拖曳鼠标,则pixval函数还会显示单击点与鼠标光标当前位置之间的距离。pixval函数通过在这些点之连画线来表示它们之间的距离已经测量了。释放鼠标光标时,直线和距离显示消失。
pixval函数即时给出的结果比impixel函数多,但是使用impixel函数可以把结果返回给一个变量,这个变量可以以交互或非交互的方式被调用。如果以无参方式调用impixel函数,则当鼠标光标位于图像上方时,鼠标光标会变成十字形。然后可以单击感兴趣的像素,impixel函数在选择的每个像素上显示一个小的星形。选定以后,按回车键,impixel函数返回选定像素的颜色值,然后星形消失。
impixel函数的使用。
(1)显示图像。
>> imshow Tiantang.bmp
(2)调用impixel函数选择像素点。
>> vals=impixel
(3)在图像上单击一些点来选择像素,最后再双击一次,如图4-1所示。
impixel函数将像素值返回到vals中。
vals =
40 68 35
201 210 220
142 197 186
灰度轮廓
improfile函数用于沿图像中的线段或多义线计算和显示灰度。可以将直线段的端点坐标作为输入变量,也可以用鼠标定义路径。在使用第2种方法时,improfile函数使用插值法来确定路径上等间隔点的值。默认时,improfile函数使用最近邻插值,但是可以指定其他不同的方法。improfile函数用于处理灰度图像和RGB图像时效果最佳。
调用improfile函数并指定一条直线段。
>> I=fitsread('solarspectra.fts');
>> imshow(I,[]);
>> improfile
效果如图4-2所示。其中,直线段的位置用红色表示,从上至下绘制。
improfile函数显示沿直线分布的数据值,如图4-3所示。请注意线形图中的峰和谷是如何与图像上的亮带和黑带相对应的。
图4-2 在图像上绘制一条直线段图 4-3 用线形图表示沿直线分布的数据值
improfile函数用于处理RGB图像显示。使用imshow函数可以在图形窗口中显示图像。调用不带参数的improfile函数,在图像上交互式地跟踪直线段。
>> imshow peppers.png
>> improfile
在生成的图中,用鼠标画出直线段,双击鼠标,终止绘制,结果见图4-4。图中的黑色直线段就是用鼠标画的直线段。
使用improfile函数可以显示沿直线段分布的RGB值的线形图,如图4-5所示。图像中分别包括了红色、绿色和蓝色亮度值的图形。
图4-4 在图像上绘一条直线段 图4-5 沿直线段分布的RGB值的线形图
图形等值线
用imcontour函数可以显示灰度图中数据的等值线图。该函数与MATLAB中的contour函数相似,但它会自动设置坐标轴,使得它们的方向和大小比例与图像匹配。
显示鸟的图像和它的等值线图。
>> I=imread('Bird.bmp');
>> I2=im2bw(I);
>> imshow(I2)
>> figure, imcontour(I2,3)
如图4-6所示,图4-6(a)为鸟的图像,图4-6(b)为等值线图。
(a) (b)
图4-6 图像及其等值线图
可以用clabel函数标注等值线的水平。
图像直方图
图像直方图是一种显示索引图像或灰度图像亮度分布的图形。用imhist函数可以创建图像直方图。该图首先将数据分成n个等间距的条形,每个条形表示一个数据范围,然后计算落在这个范围内像素的个数。
显示一个米粒图像和一个有64个条形的直方图。该直方图显示了一个值为100左右的峰,对应于图像背景中的深灰色。
>> I=imread('rice.png');
>> imshow(I)
>> figure, imhist(I)
结果如图4-7所示。
(a) (b)
图4-7 图像及其直方图
综述统计量
使用mean2、std2和corr2函数可以计算图像的标准统计量。其中mean2和std2函数可以计算矩阵中元素的均值和标准差,corr2函数可以计算两个大小相同的矩阵的相关系数。
区域属性度量
用regionprops函数可以计算图像区域的属性。例如,regionprops函数可以度量诸如面积、质心和包围盒等属性。