
正文
包含python腐蚀膨胀函数的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
形态学操作-腐蚀与膨胀
1.形态学操作
形态学操作就是基于形状的一系列图像处理操作。一般情况下对二值化的图像进行操作。腐蚀与膨胀是最基本的形态学操作
应用:
(1)消除噪声
(2)分割(isolate)独立的图像元素,以及连接(join)相邻的元素
(3)寻找图像中的明显的极大值区域或者极小值区域
2.膨胀(最大值dilate)
此操作是将图像A与任意形状(通常为正方形或圆形)的内核B,,进行卷积。
内核B有一个可定义的 锚点, 通常定义为内核中心点。
进行膨胀操作时,将内核B划过图像,将内核B覆盖区域的最大相素值提取,并代替锚点位置的相素。显然,这一最大化操作将会导致图像中的亮区开始”扩展” (因此有了术语膨胀 dilation )
src——输入图像.
dst——输出图像.
element——用于膨胀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素
iterations——膨胀的次数
3.腐蚀(erode)
腐蚀提取的是内核覆盖下的相素最小值。进行腐蚀操作时,将内核B划过图像,将内核B覆盖区域的最小相素值提取,并代替锚点位置的相素。
src——输入图像.
dst——输出图像.
element——用于腐蚀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素
iterations——腐蚀的次数
4.结构元素
我们一般使用函数 getStructuringElement配合膨胀或腐蚀算法使用
Mat strElement = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(3, 3), new Point(-1, -1));
其中有三种内核形状可以选择:
矩形: MORPH_RECT
交叉形: MORPH_CROSS
椭圆形: MORPH_ELLIPSE
再指定内核大小,以及锚点位置。不指定锚点位置,则默认锚点在内核中心位置。
5.图像的开运算
开运算:先腐蚀后膨胀,移除小的对象时候很有用
6.图像的闭运算
闭运算:先膨胀后腐蚀,被用来填充前景物体中的小洞,或者抹去前景物体上的小黑点
7.梯度:膨胀与腐蚀图之差
可以用来突出边缘,可以保留物体的边缘轮廓
8.顶帽:原图与开运算结果之差
开运算放大了裂缝或者局部低亮度的区域,所以,从原图中减去开运算后的图,得到的结果突出了比原图轮廓周围的区域更明亮的区域,这个操作与选择的核的大小有关。TopHat运算一般用来分离比邻近点亮一些的斑块,可以使用这个运算提取背景
9.黑帽运算:闭运算的结果与原图之差
黑帽运算的结果突出了比原图轮廓周围区域更暗的区域,所以黑帽运算用来分离比邻近点暗一些的斑块。
参考:
相关问答
Q1: 2021-02-13 Python OpenCV morphologyEx()函数
该函数执行高级形态转换,可以使用腐蚀和膨胀作为基本操作来执行高级形态转换,任何操作都能够原地执行。在多通道图像的例子中,每一个通道都独立地被处理。
erode(腐蚀):它沿着物体边界移除像素并缩小物体的大小,会增强图像的暗部。
dilate(膨胀):通过将像素添加到该图像中的对象的感知边界,扩张放大图像中的明亮白色区域。
opening operation(开运算):先腐蚀,后膨胀。能够排除小黑点。
close operation(闭运算):先膨胀,后腐蚀。能够排除小亮点。
src:输入图像,输入图像的通道数是任意的。
op:形态操作的类型如:cv2.MORPH_ERODE(腐蚀),cv2.MORPH_DILATE(膨胀),cv2.MORPH_OPEN(开运算),cv2.MORPH_CLOSE(闭元素)
...等等操作
(详细参考官方文档 MorphTypes )
kernel:输入一个数组作为核。能被 getStructuringElement 创建。
anchor:核的锚点位置,负值说明该锚点位于核中心。默认为核中心。
iterations:整型int。腐蚀与膨胀被应用的次数。默认为None。
例:一次开运算迭代两次:(MORPH_OPEN= )伴随两次迭代等于:腐蚀--腐蚀--膨胀--膨胀。
borderType:像素边界扩展类型,参照官方文档所列的几种类型 BorderTypes
borderValue:边界为常量时的边界值。默认值有特殊含义。默认值为None。
Q2: Python视觉识别--OpenCV开闭操作\分水岭算法(九)
闭操作:
1、图像形态学的重要操作之一,基于膨胀与腐蚀操作组合形成的
2、主要是应用在二值图像分析中,灰度图像也可以
3、开操作=膨胀+腐蚀,输入图像+结构元素
开操作:
1、图像形态学的重要操作之一,基于膨胀与腐蚀操作组合形成的
2、主要是应用在二值图像分析中,灰度图像也可以
3、开操作=腐蚀+膨胀,输入图像+结构元素
开操作与闭操作的区别是:膨胀与腐蚀的顺序
开操作作用:消除图像中小的干扰区域
闭操作作用:填充小的封闭区域
Q3: 图像膨胀腐蚀算法原理
膨胀和腐蚀python腐蚀膨胀函数的主要用途:
消除噪声python腐蚀膨胀函数;
分割出独立的图像元素,在图像中连接相邻的元素python腐蚀膨胀函数;
寻找图像中明显的极大值或极小值区;
求出图像的梯度;
【注】:
腐蚀和膨胀是对像素值大的部分而言的,即高亮白部分而不是黑色部分;
膨胀是图像中的高亮部分进行膨胀,领域扩张,效果图拥有比原图更大的高亮区域;
腐蚀是图像中的高亮部分被腐蚀掉,领域缩减,效果图拥有比原图更小的高亮区域;
2
/9
膨胀原理:
膨胀:求局部最大值;
①定义一个卷积核B,
核可以是任何的形状和大小,且拥有一个单独定义出来的参考点-锚点(anchorpoint);
通常和为带参考点的正方形或者圆盘,可将核称为模板或掩膜;
②将核B与图像A进行卷积,计算核B覆盖区域的像素点最大值;
③将这个最大值赋值给参考点指定的像素;
因此,图像中的高亮区域逐渐增长。
3
/9
腐蚀原理:
腐蚀:局部最小值(与膨胀相反);
①定义一个卷积核B,
核可以是任何的形状和大小,且拥有一个单独定义出来的参考点-锚点(anchorpoint);
通常和为带参考点的正方形或者圆盘,可将核称为模板或掩膜;
②将核B与图像A进行卷积,计算核B覆盖区域的像素点最小值;
③将这个最小值赋值给参考点指定的像素;
因此,图像中的高亮区域逐渐减小。
4
/9
OpenCV中膨胀函数-dilate()
格式:
void dilate(
InputArray src,//输入
OutputArray dst, //输出
InputArray kernel, //核大小
Point anchor=Point(-1,-1),// 锚位置,(-1,-1)为中心
int iterations=1, //迭代次数
int borderType=BORDER_CONSTANT,//图像边界像素模式
const Scalar borderValue=morphologyDefaultBorderValue()//边界值
)
【注】:
关于核,一般配合getStructuringElement()使用;
getStructuringElement():返回指定形状和尺寸的结构元素;
格式:
getStructuringElement(int shape, Size ksize, Point anchor=Point(-1,-1));
参数:
shape:表核的形状,矩形MORPH_RECT;交叉形MORPH_CROSS;椭圆形MORPH_ELLIPSE;
ksize:核尺寸大小;
anchor:锚点的位置,锚点只影响形态学运算结果的偏移;
5
/9
OpenCV中腐蚀函数-erode()
格式:
void erode(
InputArray src,//输入
OutputArray dst, //输出
InputArray kernel, //核大小
Point anchor=Point(-1,-1),// 锚位置,(-1,-1)为中心
int iterations=1, //迭代次数
int borderType=BORDER_CONSTANT,//图像边界像素模式
const Scalar borderValue=morphologyDefaultBorderValue()//边界值
)
6
/9
形态学开运算:
开运算(Open Operation):先腐蚀后膨胀的过程;
功能:
消除小物体;
在纤细处分离物体;
平滑较大的边界并不明显改变其面积;
7
/9
形态学闭运算:
闭运算(Closing Openration),先膨胀后腐蚀;
功能:
排除小型黑洞(黑斑);
8
/9
OpenCV:morphologyEx()
功能:morphologyEx函数利用基本的膨胀和腐蚀技术,来执行更加高级形态学变换,
如开闭运算,形态学梯度,“顶帽”、“黑帽”等等。
Q4: 2021-02-12 Python OpenCV getStructuringElement()函数
此函数用于生成不同形态的结构元素,用于膨胀,腐蚀,等形态操作。
shape:
1.cv2.MORPH_RECT(矩形结构化元素)
2.cv2.MORPH_CROSS(十字形结构化元素)
3.cv2.MORPH_ELLIPSE(椭圆形结构化元素,内接一个矩形)
参考 官方文档
ksize:元组(width,height),结构元素的尺寸。
anchor:坐标(x,y),元素内的锚定位置。默认值为(-1,-1)即结构化元素的中心。
python腐蚀膨胀函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、python腐蚀膨胀函数的信息别忘了在本站进行查找喔。





