opencv基礎_12(形態學操作應用-提取水平與垂直線)

1、原理方法

      圖像形態學操作時候,可以通過自定義的結構元素實現結構元素對輸入圖像一些對象敏感、另外一些對象不敏感,這樣就會讓敏感的對象改變而不敏感的對象保留輸出。通過使用兩個最基本的形態學操作 – 膨脹腐蝕,使用不同的結構元素實現對輸入圖像的操作、得到想要的結果。 

- 膨脹,輸出的像素值是結構元素覆蓋下輸入圖像的最大像素值
- 腐蝕,輸出的像素值是結構元素覆蓋下輸入圖像的最小像素值

二值圖像與灰度圖像上的膨脹操作

2、結構元素

(1)、上述膨脹與腐蝕過程可以使用任意的結構元素。

(2)、常見的形狀:矩形、園、直線、磁盤形狀、磚石形狀等各種自定義形狀。

3、提取步驟

(1)、輸入圖像彩色圖像 imread。

(2)、轉換爲灰度圖像 cvtColor。

(3)、轉換爲二值圖像 adaptiveThreshold。

(4)、定義結構元素。

(5)、開操作 (腐蝕+膨脹)提取 水平與垂直線。

代碼實現-第一步輸入彩色圖像 imread

轉換爲灰度圖像 cvtColor

轉換爲二值圖像 adaptiveThreshold

adaptiveThreshold(

Mat src, // 輸入的灰度圖像

Mat dest, // 二值圖像

double maxValue, // 二值圖像最大值

int adaptiveMethod // 自適應方法,只能其中之一

// ADAPTIVE_THRESH_MEAN_C , ADAPTIVE_THRESH_GAUSSIAN_C

int thresholdType,// 閾值類型

int blockSize, // 塊大小

double C // 常量C 可以是正數,0,負數)

轉換爲二值圖像 adaptiveThreshold

 

轉換爲二值圖像 adaptiveThreshold

定義結構元素

一個像素寬的水平線 水平長度 width/30

一個像素寬的垂直線 垂直長度 height/30

開操作(腐蝕+膨脹)-檢測

後處理

bitwise_notMat bin, Mat dst)像素取反操作,255 – SrcPixel

模糊(blur

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章