imgproc模組 更多形態學操作

2021-08-02 10:31:56 字數 2432 閱讀 4775

1.目的

(1)開運算

(2)閉運算

(3)形態學梯度

(4)頂帽

(5)黑帽

2.原理

(1)開運算

開運算是通過先對影象腐蝕再膨脹實現的。能夠排除小團塊物體(假設物體較背景明亮)。請看下面,左圖是原影象,右圖是採用開運算轉換之後的結果圖。 觀察發現字母拐彎處的白色空間消失。

(2)閉運算

閉運算是通過先對影象膨脹再腐蝕實現的。能夠排除小型黑洞(黑色區域)。

(3)形態梯度

膨脹圖與腐蝕圖之差,能夠保留物體的邊緣輪廓,如下所示:

(4)頂帽

原圖與開運算之差

(5)黑帽

閉運算與原圖之差

3.部分**解釋

/*

morphologyex引數解釋

src:輸入影象

dst:輸出影象

operation:形態**算型別

element:運算操作核心,由getstructuringelement獲取

*//*形態學操作morph_x的取值範圍是2-6

2:開運算

3:閉運算

4:形態梯度

5:頂帽

6:黑帽

*/morphologyex(src, dst, operation, element);

4.完整**

(1)commoninclude.h

#ifndef common_include

#define common_include

#include

#include

#include

#include

using

namespace

std;

using

namespace cv;

#endif

(2)morph.cpp

#include "commoninclude.h"

int morphology_elem = 0;

int morphology_operator = 0;

int morphology_size = 0;

//形態學操作morph_x的取值範圍是2-6

int max_elem = 2;

int max_operator = 4;

int max_kernel_size = 21;

mat src,dst;

void morphologyoperation(int, void*)

int main(int argc, char**argv)

src = imread(argv[1]);

namedwindow("morphologyoperation", cv_window_autosize);

createtrackbar("operator:\n 0: opening - 1: closing \n 2: gradient - 3: top hat \n 4: black hat", "morphologyoperation",

&morphology_operator, max_operator,

morphologyoperation);

createtrackbar("elem:\n 0:rectangle\n 1:cross\n 2:ellipse", "morphologyoperation",

&morphology_elem, max_elem,

morphologyoperation);

createtrackbar("kernel size:2*n+1","morphologyoperation",

&morphology_size, max_kernel_size,

morphologyoperation);

morphologyoperation(0,0);

waitkey(0);

return(0);

}

參考文獻1.

形態學重建

在形態學梯度影象的基礎上,利用形態學的開閉重建運算對梯度影象進行重建,在保留重要區域倫敦的同時去除細節和雜訊。分水嶺變換存在過分割現象,原因在於檢測的區域性極值過多,造成極值過多的原因在於影象中的非規則灰度擾動和雜訊。對於好的分水嶺影象分割方法,不僅能消除過分割現象,而且應保證分割後的區域倫敦邊緣具...

形態學濾波

include pch.h include include include include using namespace std using namespace cv 形態學 mat g srcimage,g dstimage int g nelementshape morph rect int ...

形態學運算元

形態學運算元的主要思想是用一定形狀的結構元素 在影象中抽取出相應的某些結構,通常可以用於影象的濾波 分割 分類等處理。形態學運算元有腐蝕 膨脹 開和閉四種。腐蝕腐蝕是一種消除邊界點,使邊界向內部收縮的過程。可以用來消除小且無意義的物體。腐蝕的演算法 用3x3的結構元素,掃瞄影象的每乙個畫素 用結構元...