1、matlab 一些图像处理函数一、MATLAB的size函数:获取数组的行数和列数 (1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。 (2)r,c=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。 (3)如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。其中r=size(A,1)该语句返回的时数组A的行数, c=size(A,2) 该语句返回的时数组A的列数。原文地址:MATLAB常用形态学操作函数作者:g
2、gbondgt常用形态学操作函数1、dilate函数该函数能够实现二值图像的膨胀操作,有以下形式:BW2=dilate(BW1,SE)BW2=dilate(BW1,SE,n)其中:BW2=dilate(BW1,SE)表示使用二值结构要素矩阵SE队图像数据矩阵BW1执行膨胀操作。输入图像BW1的类型为double或unit8,输出图像BW2的类型为unit8。BW2=dilate(BW1,SE,n)表示执行膨胀操作n次。2、erode 函数该函数能够实现二值图像的腐蚀操作,有以下形式:BW2= erode(BW1,SE)BW2= erode(BW1,SE,n)其中:BW2= erode(BW1,
3、SE)表示使用二值结构要素矩阵SE队图像数据矩阵BW1执行腐蚀操作。输入图像BW1的类型为double或unit8,输出图像BW2的类型为unit8。BW2= erode(BW1,SE,n)表示执行腐蚀操作n次。3、bwmorph函数该函数的功能是能实现二值图像形态学运算。它的格式如下: BW2=bwmorph(BW1,operation) BW2=bwmorph(BW1,operation,n)其中:对于格式,bwmorph函数可对二值图像BW1采用指定的形态学运算;对于格式,bwmorph函数可对二值图像BW1采用指定的形态学运算n次。operation为下列字符串之一:clean:除去孤
4、立的像素(被0包围的1)close:计算二值闭合dilate:用结构元素计算图像膨胀erode:用结构元素计算图像侵蚀4、imclose函数该函数功能是对灰度图像执行形态学闭运算,即使用同样的结构元素先对图像进行膨胀操作后进行腐蚀操作。调用格式为:IM2=imclose(IM,SE)IM2=imclose(IM,NHOOD)5、imopen函数该函数功能是对灰度图像执行形态学开运算,即使用同样的结构元素先对图像进行腐蚀操作后进行膨胀操作。调用格式为:IM2=imopen(IM,SE)IM2=imopen(IM,NHOOD)Matlab中函数strel在操作结构元素应用,用于膨胀腐蚀及开闭运算等
5、操作的结构元素对象具体用法:SE = strel(shape,parameters)创建由指定形状shape对应的结构元素。其中shape的种类有arbitrarypairdiamondperiodiclinediskrectanglelinesquareoctagon参数parameters一般控制SE的大小。例子: se1 = strel(square,6)% 创建6*6的正方形 se2 = strel(line,10,45)% 创建直线长度10,角度45se3 = strel(disk,15)% 创建圆盘半径15 se4 = strel(ball,15,5)% 创建椭圆体,半径15,高度
6、5最终编辑 hyb841729963 STREL 创建形态学结构元素。语法: SE = STREL(arbitrary,NHOOD) 创建一个指定领域的平面结构化元素。NHOOD是一个包含1/0的矩阵;1的位置定义了领域的形态学操作。NHOOD的中心就是它的中心元素,位置在FLOOR(SIZE(NHOOD) + 1)/2)。你也可以忽略参数串arbitrary而只使用STREL(NHOOD). SE = STREL(arbitrary,NHOOD,HEIGHT) 创建一个指定领域的非平面结构化元素。HEIGHT是一个矩阵,大小和NHOOD相同,他指定了NHOOD中任何非零元素的高度值。HEIG
7、HT必须是实有限值。你也可以忽略参数串arbitrary而只使用STREL(NHOOD,HEIGHT). SE = STREL(ball,R,H,N) 创建一个空间椭球状的结构元素,其X-Y平面半径为R,高度为H。R必须为非负整数,H是一个实数。N必须为一个非负偶数,当N0时此球形结构元素由一系列空间线段结构元素来近似;当N=0时不需要近似,结构化元素的成员由所有中心距圆点R的元素组成,相应的高度值可由R/H指定的椭球中提取。如果N未指定,缺省值8,并且。注: 使用球体近似的形态学操作N0的情况要比N=0的情况快许多。 SE = STREL(diamond,R) 创建一个指定大小R平面钻石形状
8、的结构化元素。R是从结构化元素原点到其点的距离,必须为非负整数。 SE = STREL(disk,R,N) 创建一个指定半径R的平面圆盘形的结构元素。这里R必须是非负整数. N须是0, 4, 6, 8.当N大于0时,圆盘形结构元素由一组N(或N+2)个周期线结构元素来近似。当N等于0时,不使用近似,即结构元素的所有像素是由到中心像素距离小于等于R的像素组成。N可以被忽略,此时缺省值是4。注: 形态学操作在N0情况下要快于N=0的情形。 功能:腐蚀图像 用法:IM2 = imerode(IM,SE) 腐蚀灰度、二进制或压缩二进制图像 IM ,返回腐蚀图像 IM2 。参数 SE 是函数 strel
9、 返回的一个结构元素体或是结构元素体阵列。如果 IM 是逻辑图像,结构元素是平坦的, imerode 执行二进制膨胀;否则执行灰度腐蚀。如果SE 是一个结构元素体阵列, imerode 接连使用 SE 中的每个结构元素体对输入图像进行多重腐蚀。IM2 = imerode(IM,NHOOD) 腐蚀图像 IM ,这里的 NHOOD 是一个 0 和 1 组成的阵列,指明了结构元素邻域。这等同于 imerode(IM,strel(NHOOD) 的句法规则。函数 imerode 通过 floor(size(NHOOD)+1)/2) 确定了邻域的中心元素。IM2 = imerode(.,PACKOPT,M
10、)指定 IM 是否为一幅压缩二进制图像,如果是,需要提供原始未压缩图像的行的维数 M 。 PACKOPT 可以取以下值之一。默认值由大括号()标出。 Value(值) Description(描述) ispacked IM 可以作为一幅由bwpack 产生的压缩二进制图像。IM 必须是一个2-D 的uint32 类型数组,SE 必须是平坦的2-D 结构元素。 notpacked IM 作为一个正常的数组对待。如果 PACKOPT 是 ispacked ,你必须为 M 指定一个值。常用形态学操作函数1、dilate函数该函数能够实现二值图像的膨胀操作,有以下形式:BW2=dilate(BW1,S
11、E)BW2=dilate(BW1,SE,n)其中:BW2=dilate(BW1,SE)表示使用二值结构要素矩阵SE队图像数据矩阵BW1执行膨胀操作。输入图像BW1的类型为double或unit8,输出图像BW2的类型为unit8。BW2=dilate(BW1,SE,n)表示执行膨胀操作n次。2、erode 函数该函数能够实现二值图像的腐蚀操作,有以下形式:BW2= erode(BW1,SE)BW2= erode(BW1,SE,n)其中:BW2= erode(BW1,SE)表示使用二值结构要素矩阵SE队图像数据矩阵BW1执行腐蚀操作。输入图像BW1的类型为double或unit8,输出图像BW2
12、的类型为unit8。BW2= erode(BW1,SE,n)表示执行腐蚀操作n次。3、bwmorph函数该函数的功能是能实现二值图像形态学运算。它的格式如下: BW2=bwmorph(BW1,operation) BW2=bwmorph(BW1,operation,n)其中:对于格式,bwmorph函数可对二值图像BW1采用指定的形态学运算;对于格式,bwmorph函数可对二值图像BW1采用指定的形态学运算n次。operation为下列字符串之一:clean:除去孤立的像素(被0包围的1)close:计算二值闭合dilate:用结构元素计算图像膨胀erode:用结构元素计算图像侵蚀4、imcl
13、ose函数该函数功能是对灰度图像执行形态学闭运算,即使用同样的结构元素先对图像进行膨胀操作后进行腐蚀操作。调用格式为:IM2=imclose(IM,SE)IM2=imclose(IM,NHOOD)5、imopen函数该函数功能是对灰度图像执行形态学开运算,即使用同样的结构元素先对图像进行腐蚀操作后进行膨胀操作。调用格式为:IM2=imopen(IM,SE)IM2=imopen(IM,NHOOD)matlab连通域处理函数们 分类: 数字图像、视频处理 2011-08-09 14:35 820人阅读 评论(0) 收藏 举报 1、 matlab函数bwareaopen删除小面积对象格式:BW2 =
14、 bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。算法:(1)Determine the connected components.L = bwlabeln(BW, conn);(2)Compute the area of each component.S = regionprops(L, Area);(3)Remove small objects.bw2 = ismember(L, find(S.Area = P);2、matlab函数bwarea计算对象面积格式:total = bwarea(BW)作用:估计二值图像中对象的面积。注
15、:该面积和二值图像中对象的像素数目不一定相等。3、matlab函数imclearborder边界对象抑制格式:IM2 = imclearborder(IM,conn)作用:抑制和图像边界相连的亮对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures.算法:(1)Mask image is the inp
16、ut image.(2)Marker image is zero everywhere except along the border, where it equals the mask image.4、matlab函数bwboundaries获取对象轮廓格式:B = bwboundaries(BW,conn)(基本格式)作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P1的cell数组,P为对象个数,每个cell 是Q2的矩阵,对应于对象轮廓像素的坐标。5、matlab函数imregionalmin获取极小值区域格式:BW = imregion
17、almin(I,conn)作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.6、matlab函数bwulterode距离变换的极大值格式:BW2 = bwulterode(BW,method,conn)作用:终极腐蚀。寻找二值图像BW的距离变换图的区域极大值(regional
18、maxima)。用于距离变换的距离默认为euclidean,连通性为8邻域。7、regionprops统计被标记的区域的面积分布,显示区域总数。函数regionprops语法规则为:STATS = regionprops(L,properties)该函数用来测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS是一个 长度为max(L()的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。Properties可以是由逗号分割的字符串列表、包含字符 串的单元数组、单
19、个字符串all或者basic。如果properties等于字符串all,则表4.1中的度量数据都将被计算;如果properties等于字符串basic,则属性:Area,Centroid和BoundingBox将被计算。表1就是所有有效的属性字符串。表1 属性字符串列表properties值 度量图像区域的属性或功能Area 图像各个区域中像素总个数BoundingBox 包含相应区域的最小矩形Centroid 每个区域的质心(重心)MajorAxisLength 与区域具有相同标准二阶中心矩的椭圆的长轴长度(像素意义下)MinorAxisLength 与区域具有相同标准二阶中心矩的椭圆的短轴
20、长度(像素意义下)Eccentricity 与区域具有相同标准二阶中心矩的椭圆的离心率(可作为特征)Orientation 与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)Image 与某区域具有相同大小的逻辑矩阵FilledImage 与某区域具有相同大小的填充逻辑矩阵FilledArea 填充区域图像中的on像素个数ConvexHull 包含某区域的最小凸多边形ConvexImage 画出上述区域最小凸多边形ConvexArea 填充区域凸多边形图像中的on像素个数EulerNumber 几何拓扑中的一个拓扑不变量欧拉数Extrema 八方向区域极值点EquivDiameter 与区域具有相同面积的圆的直径Solidity 同时在区域和其最小凸多边形中的像素比例Extent 同时在区域和其最小边界矩形中的像素比例PixelIdxList 存储区域像素的索引下标PixelList 存储上述索引对应的像素坐标