继膨胀、腐蚀、开运算和闭运算之后的有一个基本操作就是击中击不中变换(HMT),HMT变换可以同时探测图像的内部和外部。在研究图像中的目标物体与图像背景之间的关系上,HMT能够取得很好的效果。所以常被用于解决目标图像识别和模式识别等领域。
1,结构元素是形态学变换中的基本元素,是为了探测图像的某种结构信息而设计的特定形状和尺寸的图像,也可以称为收集图像结构信息的探针。结构元素有许多的种类,如圆形、方形、线型等,还有二值的和灰度值的,模糊集中的等等多种结构元素。在击中击不中变换中将结构元素分解成两个,一个定义为前景结构元素,一个定义为背景结构元素,定义如下:B=(E,F), 其中E的F交集为空集
2,HMT的标准变换的定义就是:
腐蚀操作的结果就是结构元素S平移x但任包含在输入图像A内部的所有结构元素的原点集合,对于HMT变换,当且仅当结构元素E平移到某一点可以填入A的内部,且F平移到该点时可以填入A的外部时,该点才能在HMT变换的结果中输出。由于需要精确的匹配,因此该算法对识别的要求很高,但是对于实际的图像,往往含有各种未知的噪声,即会出现误差,所以实际的意义不是很大
它的原理就是使用腐蚀;如果要在一幅图像A上找到B形状的目标,我们要做的是:
首先,建立一个比B大的模板W;使用此模板对图像A进行腐蚀,得到图像假设为Process1;
其次,用B减去W,从而得到V模板(W-B);使用V模板对图像A的补集进行腐蚀,得到图像假设为Process2;
然后,Process1与Process2取交集;得到的结果就是B的位置。这里的位置可能不是B的中心位置,要视W-B时对齐的位置而异;
其实很简单,两次腐蚀,然后交集,结果就出来了;
HMT是基于多个物体分开的假设,才有背景结构元素的,在某些情况,我们只对某个物体的模式匹配感兴趣, 此时HMT简化为腐蚀。
一些形态学算法
1.边界提取 原图与腐蚀结果做差
2.空洞填充 从第一个边界内的0点膨胀,不断迭代
3.连通分量提取 ,从连通分量区域内第一个1值开始膨胀,不断迭代。
4.凸壳C(A),其实就是包含一个集合A的最小区域,可通过算法限制其各个方向的生长,保证凸性需要最小尺寸。通过Bi结构元,让每个结构元腐蚀集合A,直到收敛,而后对i个结构元的结果取并集。
5.细化/粗化,细化是A-(B对A的HMT),粗化则是A+B对A的HMT.但实际中,并不按此公式来做,而是先对问题集的背景细化,再对结果求补。
6.骨架S(A)
7.裁剪,是对骨架和细化操作的补充。不断删除寄生分支的终点来抑制分支。
8.形态学重建,包括测地腐蚀重建和测地膨胀重建。所谓测地腐蚀或者膨胀,实际上是利用模板限制标记图像的生长。最终会收敛。形成膨胀/腐蚀形态学重建。所以有用的地方是,重建开/闭操作,填充空洞,边界清除等。
一些灰度级形态学算法
1.平滑,利用开操作抑制亮细节,闭操作抑制暗细节
2.梯度,即膨胀-腐蚀
3.顶帽 原图像-开,底帽变换 闭-原图像,常用来删除物体,而非拟合物体。
4.粒度测定,即表面积随着SE增大而减小
5.纹理分割,即先闭消除小点,后开,消除大点。
灰度级形态学重建
与二值类似。只是交集取小值,并集取大值。
---------------------
作者:EasonApp
来源:CSDN
原文:https://blog.csdn.net/App_12062011/article/details/39577609
版权声明:本文为博主原创文章,转载请附上博文链接!