天天看點

opencv基礎(七)形态學操作

上一節,我們學習過圖像的膨脹和腐蝕,簡單地來說,以最大值代替中心像素則為膨脹,以最小值代替中心像素則為腐蝕,雖然這種說法不是很嚴謹,但是便于我們了解。這一節我們來學習一下,圖像的形态學操作,它是基于膨脹和腐蝕的一種拓展。那主要包括哪些呢?包括開操作,閉操作,形态學梯度,頂帽,黑帽。

那下面我們一一來解釋。

1、開操作:先腐蝕後膨脹。

假設對象是前景色,背景 是黑色,可以去掉小的對象。比如:

opencv基礎(七)形态學操作

這時候是把多餘的白色去掉了。

代碼:

Mat src=imread("D:\\3.png");
    Mat dst;
    if(src.empty())
    {
       qDebug()<<"fail to load";
    }
    Mat kerel=getStructuringElement(MORPH_RECT,Size(19,19));
    morphologyEx(src,dst,CV_MOP_OPEN,kerel);
    imshow("src",src);
    imshow("dst",dst);
    waitKey(-1);
           

結果:

opencv基礎(七)形态學操作

2、閉操作:先膨脹後腐蝕。

代碼:

Mat src=imread("D:\\4.png");
    Mat dst;
    if(src.empty())
    {
       qDebug()<<"fail to load";
    }
    Mat kerel=getStructuringElement(MORPH_RECT,Size(19,19));
    morphologyEx(src,dst,CV_MOP_CLOSE,kerel);
    imshow("src",src);
    imshow("dst",dst);
    waitKey(-1);
           

結果:

opencv基礎(七)形态學操作
opencv基礎(七)形态學操作

我們可以看出将黑色的孔給去掉了。

3、形态學梯度。

      膨脹減去腐蝕。

4、頂帽:原圖像與開操作的內插補點圖像。

5、黑帽:閉操作與原圖像的內插補點圖像。

繼續閱讀