[图像处理][Matlab] strel函数详解

strel——structuring element 

运用各种形状和大小构造元素,创建由指定形状shape对应的结构元素。用于膨胀腐蚀及开闭运算等操作的结构元素对象。

基本语法为SE = strel(shape, parameters)
shape 是指定希望形状的字符串,其中shape的种类有

'arbitrary'

'pair'

'diamond'

'periodicline'

'disk'

'rectangle'

'line'

'square'

'octagon'

参数parameters是指定形状信息的一系列参数,一般控制SE的大小。

SE = strel('arbitrary', NHOOD)
创建一个任意形状的结构元素,NHOOD是由0和1组成的矩阵,用于指定形状可以用se=strel(NHOOD)简化

创建一个指定领域的平面结构化元素。1的位置定义了领域的形态学操作。NHOOD的中心就是它的中心元素,位置在FLOOR((SIZE(NHOOD) + 1)/2)。你也可以忽略参数串'arbitrary'而只使用STREL(NHOOD).


SE = strel('arbitrary', NHOOD, HEIGHT)
创建一个指定领域的非平面结构化元素。HEIGHT是一个矩阵,大小和NHOOD相同,他指定了NHOOD中任何非零元素的高度值。HEIGHT必须是实有限值。你也可以忽略参数串'arbitrary'而只使用STREL(NHOOD,HEIGHT).
creates a nonflat, ball-shaped structuring element (actually an ellipsoid) whose radius in the X-Y plane is R and whose height is H.
When N is greater than 0, the ball-shaped structuring element is approximated by a sequence of Nnonflat, line-shaped structuring elements. When N equals 0, no approximation is used, and the structuring element members consist of all pixels whose centers are no greater than R away from the origin.

例子:

se1 = strel('square',6) % 创建6*6的正方形

 

SE = strel('line', LEN, DEG) 创建一个平坦的线型结构,LEN长度,DEG角度

se2 = strel('line',10,45) % 创建直线长度10,角度45

 

SE = strel('disk', R, N)

创建一个指定半径R的平面圆盘形的结构元素。这里R必须是非负整数. N须是0, 4, 6, 8.当N大于0时,圆盘形结构元素由一组N(或N+2)个周期线型( periodic-line )结构元素来近似。当N等于0时,不使用近似,即结构元素的所有像素是由到中心像素距离小于等于R的像素组成。N可以被忽略,此时缺省值是4。

注: 形态学操作在N>0情况下要快于N=0的情形。

se3 = strel('disk',15) % 创建圆盘半径15

 

SE = STREL('ball',R,H,N) 创建一个空间椭球状的结构元素,其X-Y平面半径为R,高度为H。R必须为非负整数,H是一个实数。N必须为一个非负偶数,当N>0时此球形结构元素由一系列空间线段结构元素来近似;当N=0时不需要近似,结构化元素的成员由所有中心距圆点>R的元素组成,相应的高度值可由R/H指定的椭球中提取。如果N未指定,缺省值8,并且。注: 使用球体近似的形态学操作N>0的情况要比N=0的情况快许多。
se4 = strel('ball',15,5)

% 创建椭圆体,半径15,高度5

 

SE = strel('octagon', R) 创建一个平坦的八边形结构元素,R是从结构元素原点到八边形边的距离,沿水平轴和垂直轴的度量,R必须是3的非负倍数

 

SE = strel('pair', OFFSET) 创建一个包含两个成员的平坦结构元素,一个成员在原点,另一个成员由向量OFFSET表示,该向量必须是一个两元素的整数向量

 

SE = strel('diamond', R)
创建一个指定大小R平面钻石形状的结构化元素。R是从结构化元素原点到其点的距离,必须为非负整数。


SE = strel('periodicline', P, V) 创建一个包含有2*P+1个成员的平坦元素,其中V是一个两元素向量,它包含有整数值的行和列的偏移,一个元素在原点,另一个位于 1*V, -1*V, 2*V, -2*V, ..., P*V, -P*V.

 

SE = strel('rectangle', MN) 创建一个平坦的矩形结构,MN指定大小  SE = strel('square', W) 创建一个方形的结构元素,边长为N个像素

 

Nhood=getnhood(se)%获得se邻域

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值