OpenCV 教學範例程式

Part 4

Feature Detection

主要章節

  • 13_thresholding
  • 14_morphological
  • 15_thinning
  • 16_corner
  • 17_contour
  • 18_pyramid
  • 19_edge
  • 20_shape
  • 21_segmention

13_thresholding

二值化

分割 問題是指在數據集中選擇有趣的特徵,將它們組合成一個具有共同點的實體(對象)像素

(通常,它們在空間中相鄰)

通常用來分離物體與背景

選到的對象太小

選到的對象不連續

降低閥值

使用種子

Global (全域性) vs Adaptive (適應性)

......

14_morphologic

形態學 Morphology

Morphology 是用於處理 Binary 影像

erode (侵蝕) vs dilate (膨脹)

open (開運算) vs close (閉運算)

gradient

tophat vs blackhat

應用範例

用來銜接區域,左圖的空洞經由膨脹後連通起來了

運算原理

dilate (膨脹)

erode (侵蝕)

Open 開運算

先做 Erosion 再做 Dilation

Close 閉運算

先做 Dilation 再做 Erosion

Open 開運算

先做 Erosion 再做 Dilation

拿 Structures Element 在 Target 的內部任意移動,Structures Element 如果到不了的地方就會被消除掉,可以將圖形凸出的銳角給鈍化

Close 閉運算

先做 Dilation 再做 Erosion

拿Structures Element 在 Target 的外部移動,進不去的地方就把它填滿,可以將圖形內陷的銳角給鈍化

Opening (開)
Erosion 後再 Dilation

Closing  (閉)
Dilation 後再 Erosion

原本較為接近的兩個點
經過此處理後會被黏合

原本較為接近的兩個點
經過此處理後會被分開

tophat 頂帽

原圖像與開運算的差

blackhat 黑帽

閉運算與原圖像的差

黑帽運算的效果突出了比原圖輪廓周圍的區域更暗的區域,且與選擇的卷積核大小有關,所以黑帽運算用來分離比鄰近點暗一些的斑塊。效果圖有非常完美的輪廓。

開運算帶來的結果是放大了裂縫或者局部最低亮度的區域。因此,原圖減去開運算後的圖,得到的效果圖突出了比原圖輪廓周圍的區域更明亮的區域,且與選擇的卷積核大小有關。頂帽運算往往用來分離比鄰近點亮的斑塊

......

15_thinning

細化

skeletonization

......

16_corner

尋找角落

......

17_contour

輪廓

......

18_pyramid

圖像金字塔

......

19_edge

邊緣偵測

此演算法係澳洲計算機科學家約翰·坎尼(John F. Canny)於1986年開發出來的一個多級邊緣檢測算法。

首先檢測高閾值以上的強邊緣(強梯度)像素,並拒絕低於閾值的像素。

接著,只要它們連接到強邊緣,就會包含值為low_threshold 和 high_threshold 的像素。輸出邊緣是二進制圖像,其中白色像素描繪出檢測到之邊緣,而其他地方則為黑色。

......

20_shape

形狀識別

  • Hough 霍夫變換

  • Hough 霍夫直線偵測

  • Hough 霍夫圓形偵測

.....

21_segmention

圖形分割

分水嶺影像分割

......

......

Made with Slides.com