opencv中createTrackbar()函式用法總結(06)
阿新 • • 發佈:2019-01-29
在opencv中滑動條是很方便的一個測試函式,我們可以不需要更改程式就可以更改變數的值來觀察效果。
還是老習慣,分三步走。第一步,功能說明。第二步,結果圖顯示,第三步,API詳解。第四步,程式碼展示(註釋很詳細,保證所有有C++基礎的人都可以看懂。)
第一步,功能說明:用途就是通過改變滑動條的位置來改變函式裡面變數的值,比如我們需要把程式裡面的變數i改變為10,20,30就可以分別滑到10,20,30,可以實時的顯示i=10,20,30時的效果圖。下面我們通過改變變數 i 的值,實時的把i的值輸出到螢幕。
第二步,結果圖顯示:
初始值(第一張圖片)
滑動到11後(第二張圖片)
滑動到15後(第三張圖片)
我們可以看出變數的值,可以隨著滑動條的改變而改變。
第三步,API詳解:原型:int createTrackbar(const string& trackbarname, const string&winname, int* value, int count ,TrackbarCallback onChange = 0, void* userdata = 0);
引數1:軌跡條名字
引數2:視窗名字
引數3:滑塊初始位置
引數4:表示滑塊達到最大位置的值
引數5:預設值為0,指向回撥函式
引數6:預設值為0,使用者傳給回撥函式的資料值
第四步,程式碼展示:
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int i = 7;//滑動條初始值 int maxnum = 20;//滑動條最大值 void text(int,void*);//宣告回撥函式 int main(int argc, char** argv) { Mat src = imread("image5.jpg"); //判斷圖片是否載入成功 if (src.empty()) { printf("圖片載入失敗\n"); system("pause"); //return -1; } //新建一個視窗 namedWindow("測試視窗",WINDOW_AUTOSIZE); //建立滑動條 //注意:i是變數,滑動條擦改變後i改變。 createTrackbar("數字:","測試視窗",&i,maxnum,text); text(0,0); waitKey(0); return 0; } //回撥函式 void text(int,void*) { cout<<"數字i的值為:"<<i<<endl; }
本人也是學習opencv不久,如有錯誤,請各位前輩指導。大家如果覺得我的部落格講解通俗易懂,請進我部落格專欄檢視更多API講解。部落格地址https://blog.csdn.net/fanjiule 。轉載請備註本地址。