學(xué)習(xí)createTrackbar的使用方法及步驟
createTrackbar是Opencv中的API,其可在顯示圖像的窗口中快速創(chuàng)建一個(gè)滑動(dòng)控件,用于手動(dò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:滑動(dòng)空間的名稱;
形式參數(shù)二、winname:滑動(dòng)空間用于依附的圖像窗口的名稱;
形式參數(shù)三、value:初始化閾值;
形式參數(shù)四、count:滑動(dòng)控件的刻度范圍;
形式參數(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的第二個(gè)參數(shù),必須和cvNameWindow的第一個(gè)參數(shù)完全一致。其中回調(diào)函數(shù)定義及實(shí)現(xiàn)如下:
void threshold(int, void*) { cvThreshold(src , thresDst , threshold_min , 255 , CV_THRESH_BINARY ) ; cvShowImage("threshold", thresDst); }
如此,即可在圖像窗口上方成功創(chuàng)建一個(gè)滑動(dòng)控件,其效果如下(左邊是原圖像,右邊是帶有滑動(dòng)控件的二值圖像):
以上就是學(xué)習(xí)createTrackbar的使用方法及步驟的詳細(xì)內(nèi)容,更多關(guān)于createTrackbar的使用及步驟的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。