1. 程式人生 > >OpenCV學習三十五:distanceTransform 距離變換函式

OpenCV學習三十五:distanceTransform 距離變換函式

1. API

該函式有兩個初始化API

C++: void distanceTransform(InputArray src, OutputArray dst, int distanceType, int maskSize)

C++: void distanceTransform(
InputArray src, 
OutputArray dst, 
OutputArray labels, 
int distanceType, 
int maskSize, 
int labelType=DIST_LABEL_CCOMP )

2. 引數說明

  • src – 8-bit, 單通道(二值化)輸入圖片。
  • dst – 輸出結果中包含計算的距離,這是一個32-bit  float 單通道的Mat型別陣列,大小與輸入圖片相同。
  • src – 8-bit, 單通道(二值化)輸入圖片。
  • dst – 輸出結果中包含計算的距離,這是一個32-bit  float 單通道的Mat型別陣列,大小與輸入圖片相同。
  • distanceType – 計算距離的型別那個,可以是 CV_DIST_L1、CV_DIST_L2 、CV_DIST_C。
  • maskSize – 距離變換掩碼矩陣的大小,可以是
  1. 3(CV_DIST_L1、 CV_DIST_L2 、CV_DIST_C)
  2. 5(CV_DIST_L2 )
  3. CV_DIST_MASK_PRECISE (這個只能在4引數的API中使用)
  • labels – 可選的2D標籤輸出(離散 Voronoi 圖),型別為 CV_32SC1 大小同輸入圖片。
  • labelType – 輸出標籤的型別,這裡有些兩種。
  1. labelType==DIST_LABEL_CCOMP 將周圍較近的白色畫素點作為一個整體計算其到黑色邊緣的距離
  2. labelType==DIST_LABEL_PIXEL 單獨計算每個白色畫素點到其黑色邊緣的距離.