您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“createTrackbar如何實現(xiàn)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“createTrackbar如何實現(xiàn)”這篇文章吧。
createTrackbar是Opencv中的API,其可在顯示圖像的窗口中快速創(chuàng)建一個滑動控件,用于手動調(diào)節(jié)閾值,具有非常直觀的效果。具體定義如下:
CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname, int* value, int count, TrackbarCallback onChange = 0, void* userdata = 0);
形式參數(shù)一、trackbarname:滑動空間的名稱;
形式參數(shù)二、winname:滑動空間用于依附的圖像窗口的名稱;
形式參數(shù)三、value:初始化閾值;
形式參數(shù)四、count:滑動控件的刻度范圍;
形式參數(shù)五、TrackbarCallback是回調(diào)函數(shù),其定義如下:
typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);
其使用示例代碼如下:
IplImage *src = NULL, *thresDst = NULL; int threshold_min = 100;; int max_lowThreshold = 255; cvNamedWindow("threshold", CV_WINDOW_AUTOSIZE); thresDst = cvCloneImage(src); createTrackbar("min Threshold", "threshold", &threshold_min, max_lowThreshold, threshold); threshold(0,0);
可以看出,createTrackbar的第二個參數(shù),必須和cvNameWindow的第一個參數(shù)完全一致。其中回調(diào)函數(shù)定義及實現(xiàn)如下:
void threshold(int, void*) { cvThreshold(src , thresDst , threshold_min , 255 , CV_THRESH_BINARY ) ; cvShowImage("threshold", thresDst); }
如此,即可在圖像窗口上方成功創(chuàng)建一個滑動控件,其效果如下(左邊是原圖像,右邊是帶有滑動控件的二值圖像):
以上是“createTrackbar如何實現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。