matlab中图像函数大全 详解及例子

上传人:简****9 文档编号:101952754 上传时间:2019-09-30 格式:PDF 页数:98 大小:285.89KB
返回 下载 相关 举报
matlab中图像函数大全 详解及例子_第1页
第1页 / 共98页
matlab中图像函数大全 详解及例子_第2页
第2页 / 共98页
matlab中图像函数大全 详解及例子_第3页
第3页 / 共98页
matlab中图像函数大全 详解及例子_第4页
第4页 / 共98页
matlab中图像函数大全 详解及例子_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《matlab中图像函数大全 详解及例子》由会员分享,可在线阅读,更多相关《matlab中图像函数大全 详解及例子(98页珍藏版)》请在金锄头文库上搜索。

1、1 图像处理函数详解strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀 腐蚀等操作进行讲解)。 用法:SE = strel(shape,parameters) 创建由指定形状 shape 对应的结构元素。其中 shape 的种类有 arbitrary pair diamond periodicline disk rectangle line square octagon 参数 parameters 一般控制 SE 的大小。 例子: se1 = strel(square,6) % 创建 6*6 的正方形 se2 = strel(line,10,45) % 创建直线长度

2、 10,角度 45 se3 = strel(disk,15) % 创建圆盘半径 15 se4 = strel(ball,15,5) % 创建椭圆体,半径 15,高度 5 2 图像处理函数详解roipoly 功能:用于选择图像中的多边形区域。 用法:BW = roipoly(I,c,r) BW = roipoly(I) BW = roipoly(x,y,I,xi,yi) BW,xi,yi = roipoly(.) x,y,BW,xi,yi = roipoly(.) BW = roipoly(I,c,r)表示用向量 c、r 指定多边形各点的 X、Y 坐标。BW 选 中的区域为 1,其他部分的值为

3、0. BW = roipoly(I)表示建立交互式的处理界面。 BW = roipoly(x,y,I,xi,yi)表示向量 x 和 y 建立非默认的坐标系,然后在 指定的坐标系下选择由向量 xi,yi 指定的多边形区域。 例子:I = imread(eight.tif); c = 222 272 300 270 221 194; r = 21 21 75 121 121 75; BW = roipoly(I,c,r); imshow(I) 3 figure, imshow(BW) 图像处理函数详解roifilt2 功能:用于对一个区域进行滤波。 用法:J = roifilt2(h,I,BW)

4、J = roifilt2(I,BW,fun) J = roifilt2(I,BW,fun,P1,P2,.) J = roifilt2(h,I,BW)表示使用滤波器 h 对图像 I 中用二值掩模 BW 选中的 区域滤波。BW 为和 I 大小相同的二值图像。 J = roifilt2(I,BW,fun,P1,P2,.)表示用 fun 函数处理区域滤波图像 I。 参数 P1、P2 等为 fun 函数的输入参数。 例子:I = imread(eight.tif); c = 222 272 300 270 221 194; r = 21 21 75 121 121 75; BW = roipoly(I,

5、c,r); h = fspecial(unsharp); %指定滤波器 J = roifilt2(h,I,BW); imshow(J), figure, imshow(J) 图像处理函数详解roifill (ROIregion-of-interest) 功能:对指定区域进行填充。 用法:J = roifill(I,c,r) J = roifill(I) 4 J,BW = roifill(.) J = roifill(x,y,I,xi,yi) x,y,J,BW,xi,yi = roifill(.) J = roifill(I,c,r) 填充由向量 c,r 指定的多边形,c 和 r 分别为多边形

6、的各顶点 X、Y 坐标。可用于擦除图像中的小物体。 J = roifill(I)用于交互式处理界面。 J = roifill(I,BW)用 BW(和 I 大小一致)掩模填充此区域。如果为多个多 边形,则分别执行插值填充。 例子:I = imread(eight.tif); c = 222 272 300 270 221 194; r = 21 21 75 121 121 75; J = roifill(I,c,r); imshow(I) figure, imshow(J) 图像处理函数详解roicolor 功能:可以根据颜色选定区域。 用法:BW = roicolor(A,low,high)

7、BW = roicolor(A,v) BW = roicolor(A,low,high)色图范围为low high,返回这些像素选择区 域。 BW 为大小和 A 相同的数组, 若 A 中元素值在low high范围内, 则返回值 1, 否则返回 0. BW = roicolor(A,v)返回图像 A 中像素与向量 v 相匹配的区域,BW 为二值 图像,1 值为 A 中与 v 相匹配的地方。 例子:I = imread(rice.png); BW = roicolor(I,128,255); imshow(I); 5 figure, imshow(BW) matlab 图像处理函数详解rgb2g

8、ray 功能:将真彩色图像转换成灰度图像或者将彩色色图转换成灰度色图。 用法:I = rgb2gray(RGB) newmap = rgb2gray(map) I = rgb2gray(RGB) 将真彩色图像 RGB 转换成灰度图像 I newmap = rgb2gray(map) 将彩色色图 map 转换成灰度色图 newmap 例子:X=imread(peppers.png); BW = rgb2gray(X); imview(BW) Matlab 图像处理函数:regionprops 这里给出在 Matlab 图像处理工具箱中非常重要的一个图像分析函 数: regionprops。顾名思

9、义:它的用途是 get the properties of region,即用来 度量图像区域属性的函数。语法 STATS = regionprops(L,properties)描述测量 标注矩阵 L 中每一个标注区域的一系列属性。L 中不同的正整数元素对应不同的 区域,例如:L 中 等于整数 1 的元素对应区域 1;L 中等于整数 2 的元素对应区 域 2;以此类推。返回值 STATS 是一个长度为 max(L(:)的结构数组,结构数组 的相应域 定义了每一个区域相应属性下的度量。 properties 可以是由逗号分割 的字符串列表、饱含字符串的单元数组、单个字符串 all 或者 basi

10、c。如 果 properties 等于字符串 all, 则所有下述字串列表中的度量数据都将被计 算, 如果 properties 没有指定或者等于 basic, 则属性: Area, Centroid, 和 BoundingBox 将被计算。下面的列表就是所有有效的属性字符串,它们大 小写敏感并且可以缩写。 属性字符串列表 Area EquivDiameter MajorAxisLength BoundingBox EulerNumber 6 MinorAxisLength Centroid Extent Orientation ConvexArea Extrema PixelIdxList

11、ConvexHull FilledArea PixelList ConvexImage FilledImage Solidity Eccentricity Image 属性详细定义本部分将结合一个具体的例子说明各种字串相关属性的意义, 矩阵取自在蚁蛉模式识别中做过预处理后的斑纹分割图像,如下图: 这是一幅二值图像,在应用 regionprops 函数之前必须将其标注,可以调用 bwlabel 函数和伪彩色处理,标注后的图像如下图: 下面基于以上的材料来考察属性的含义。 Area是标量,计算出在图像各 个区域中像素总个数。注意:这个数值可能与由函数 bwarea 计算的值有轻微的 不同。 对于这

12、样一个数值,我们可以使用它除以整个图像区域的像素个数而得到 斑纹比例,可以作为模式识别的候选特征,并且这个特征是仿射不 变的。在本 例中最后计算出的面积向量是 3.8952,9.7213,17.663,3.5762,1.3432,1.6958,0.41974,0.41974,21.625,12. 324,4.8187,1.5111/10000.BoundingBox 是 1 行 ndims(L)*2 列的向量, 即包 含相应区域的最小矩形。BoundingBox 形式为 ul_corner width,这里 ul_corner 以 x y z . 的坐标形式给出边界盒子的左上角、boxwidt

13、h 以 x_width y_width . 形式指出边界盒子沿着每个维数方向的长度。本例的各 7 部分区域最小矩形如下图!注意:请在这熟悉一下函数 rectangle 的使用方法。 Centroid是 1 行 ndims(L)列的向量,给出每个区域的质心(重心)。 注意: Centroid 的第一个元素是重心水平坐标(x 坐标)、第二个元素是重心垂直坐 标(y 坐标)。Centroid 所有其它元素则按照维顺序排列。下图采用以中心为 圆心的小圆来演示质心检测的效果: 图中各质心坐标 (标准化后的) 依次为: (x,y)=0.10478, 0.767390.11883, 0.0815450.19

14、586, 0.610920.30701, 0.308070.65712, 0.316130.73165, 0.305310.74548, 0.353780.80624, 0.728020.84546, 0.615640.90554, 0.0795740.93477, 0.778710.97611, 0.15576MajorAxisLength是标量,与区 域具有相同标准二阶中心矩的椭圆的长轴长度(像素意义下)。本属性只支持二 维标注矩阵。 MinorAxisLength 是标量,与区域具有相同标准二阶中心矩的 椭圆的短轴长度 (像素意义下) 。 本属性只支持二维标注矩阵。 Eccentrici

15、ty 是标量,与区域具有相同标准二阶中心矩的椭圆的离心率(可作为特征)。本属 性只支持二维标注矩阵。 Orientation 是标量,与区域具有相同标准二阶中 心矩的椭圆的长轴与 x 轴的交角(度)。本属性只支持二维标注矩阵。本例的各 区域椭圆数据为:长 轴: 18.767,45.172,43.003,30.687,16.505,15.698,5.8833,5.8833,46.954,38.873, 22.929,15.429 短 轴: 16.211,26.079,32.709,9.8458,6.8019,8.6386,5.8833,5.8833,35.976,31.022, 16.98,7.

16、8038 离心 率: 0.50387,0.81652,0.6492,0.94713,0.91114,0.83497,0,0,0.64262,0.60262,0. 67205,0.86266 方向 角: -29.219,-32.192,-9.3909,-50.904,-70.333,48.823,0,0,14.035,17.986,3.03 19,-34.238 我们可以考察离心率的变化趋势,得到对于整个区域中的各区域的 似圆性如何的大致感觉,比如下图是 12 个区域的离心率变化情形: 由上图可以看出区域整体的似圆性并不好, 实际上可以考虑使用离心率向量 作为一个模式识别的特 征! Image 二值图像,与某区域具有相同大小的逻 辑矩阵。你可以用这个属性直接将每个子区域提取出来,然后再作相应的处理! 比如本例的第一个斑纹区域提出后是。 FilledImage

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号