openCv学习笔记(四)-数学形态学1(二值图像的膨胀、腐蚀、开运算和闭运算)

转自http://blog.csdn.net/liurong_cn/article/details/7796536

一  形态学基本概念

    是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等。

    在很多邻域中,如预处理、基于物体形状分割、物体量化等,与其他标准算法相比,形态学方法都有更好的结果和更快的速度。

    形态学运算的主要目的:

     (1)图像预处理(去噪声、简化形状)

     (2)增强物体结构(抽取骨骼、细化、粗化、凸包、物体标记)

     (3)从背景中分割物体

     (4)物体量化描述(面积、周长、投影、Euler-Poincare)

  二 二值膨胀和腐蚀

     2.1 膨胀

           2.1.1基本描述

            考虑两幅二值图像A,B。它们的前景用黑色,背景用白色。另fA和fB表示各自前景点的集合。定义膨胀运算为:

            dilation(A,B) = {a+b| a∈A,b∈B}。

            比如: A = {(2,8),(3,6),(4,4),(5,6),(6,4),(7,6),(8,8)}

                        B = {(0,0),(0,1)}

                        dilation(A,B) = {(2,8),(2,9),(3,6),(3,7),(4,4),(4,5),(5,6),(5,7),(6,4),(6,5),(7,6),(7,7),(8,8),(8,9)}

            即膨胀运算是两个集合中所有向量之和的集合

            2.1.2基本性质

           膨胀是一种各向同性的扩张,这种操作有时还被称为填充或生长。采用各向同性结构元素的膨胀运算可以描述为一个将所有与物体邻近的背景像素变为物体像素的变换。他可以用来填补物体中小的空洞和狭窄的细缝。   同时,它具有一些有趣的性质。

       (1)满足交换律 (2)满足结合律 (3)可以表示为平移点集的并 (4)膨胀对平移不变

    2.2腐蚀

       2.2.1基本描述

          腐蚀是对集合元素采用向量减法,将两个集合合并,腐蚀是膨胀的对偶运算。定义腐蚀运算为:

                      erosion(A,B) = {p|(p+b)∈A, a∈A,b∈B}.

         比如:  A={(1,0),(1,1), (1,2), (0,3),(1,3), (2,3),(3,3), (1,4)}

                      B={(0,0),(1,0)}

                      erosion(A,B)={(0,3), (1,3), (2,3)}

        即对于B中的任意元素与一元素相加属于A元素,即这一元素为膨胀元素

     2.2.2 基本性质

         对于腐蚀运算可以实现在图像中寻找物体轮廓,而且速度很快。具体的实现方法是计算原始图像和腐蚀后的图像差。同时,腐蚀还可以用来简化物体的结构,那些只有一个像素宽度的物体或物体的部分将被去掉,这   样复杂的物体可以分解为几个简单的部分。

        另外,腐蚀也如同膨胀一样具有几个性质

       (1)反向扩张变换 (2)平移不变 (3)递增变换

  2.3开运算和闭运算

      开运算:先腐蚀再膨胀

      闭运算:先膨胀再腐蚀

      结构元素各向同性的开运算用于消除图像中小于结构元素的细节部分,即物体的局部形状保持不变。而闭运算用来连接邻近的物体,填补小空洞,填平窄缝隙使得物体边缘更平滑。然而与腐蚀和膨胀不同,开运算和闭运算对于结构元素的平移不具有不变性。


你可能感兴趣的:(openCv学习笔记(四)-数学形态学1(二值图像的膨胀、腐蚀、开运算和闭运算))