API
先介绍API,后面根据效果解释什么是腐蚀、膨胀、开、闭操作
OPENCV
无论是二值还是灰度图,opencv使用的都是morphologyEx(输入图像,输出图像,操作标志,结构元素,锚点)
来求出结果,千万不要忘了使用该函数之前Mat element = getStructuringElement(MORPH_RECT, Size(7, 7));
,我之前以为结构元素的位置直接写大小就行,结果啥都没弄出来。
HALCON
算子比较多,对于二值图有:erosion_circle()、erosion_rectangle1()、erosion1()、erosion2(),
再把前面erosion换成dilation、opening、closing。
对于灰度图就是前面那些函数名前面加上gray_,对于API只要知道个名字就行;我觉得最关键还是里面一些重要的参数的意义,以及在该API之前的准备操作,和后续的处理操作。
灰度图的膨胀和腐蚀
腐蚀会把亮的细节变暗变弱:
这里lena的头发在灰度图中是有白色的反光部分,这就是细节,宽度或高度要比结构元素要小的就属于细节。可以看到腐蚀之后几乎完全没有亮的区域。
下面是对一枚硬币的灰度图做腐蚀,文字部分和鹰羽毛的部分都是被黑色轮廓包裹的