图像轮廓提取关键函数
一. 關鍵函數介紹
下面就介紹OpenCV中對圖像進行二值化的關鍵函數——cvThreshold()。
函數功能:采用Canny方法對圖像進行邊緣檢測
函數原型:
void?cvThreshold(
? const?CvArr*?src,
? CvArr*?dst,
? double?threshold,
? double?max_value,
? int?threshold_type
);
函數說明:
第一個參數表示輸入圖像,必須為單通道灰度圖。
第二個參數表示輸出的邊緣圖像,為單通道黑白圖。
第三個參數表示閾值
第四個參數表示最大值。
第五個參數表示運算方法。
在OpenCV的imgproc\types_c.h中可以找到運算方法的定義。
/* Threshold types*/
enum
{
????CV_THRESH_BINARY?????=0,??/* value = value > threshold ? max_value :0???????*/
????CV_THRESH_BINARY_INV?=1,??/* value = value > threshold ? 0 : max_value???????*/
????CV_THRESH_TRUNC??????=2,??/* value = value > threshold ? threshold : value???*/
????CV_THRESH_TOZERO?????=3,??/* value = value > threshold ? value :0???????????*/
????CV_THRESH_TOZERO_INV?=4,??/* value = value > threshold ? 0 :value???????????*/
????CV_THRESH_MASK???????=7,
????CV_THRESH_OTSU???????=8??/* use Otsualgorithm to choose the optimal threshold value; combine the flag with one ofthe above CV_THRESH_* values */
};
注釋已經寫的很清楚了,因此不再用中文來表達了。
現象:
注意了:
?
其中的二值化灰度值是可以調節的,當灰度值比較小的時候,出現輪廓很大的情況,與事實不符合。所以需要調節到合適的灰度值。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的图像轮廓提取关键函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2013配置opencv2.4.9
- 下一篇: 中心频率和一些概念解释