Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <opencv2/opencv.hpp>
- #include <opencv2/highgui/highgui.hpp>
- using namespace cv;
- #define WINDOW_NAME "【GBR调色板+3滑动条】"
- //色彩取值范围0~255,滑动条取值范围0~100。转换比例为2.55。
- const int g_nMaxBlueValue = 255;
- int g_nBlueValueSlider;
- double g_dBlueValue;
- double g_dBetaBlueValue;
- void on_Trackbar(int, void*)
- {
- Mat Image;
- //求出当前Blue值相对于最大值的比例
- g_dBlueValue = (double)g_nBlueValueSlider / g_nMaxBlueValue;
- //则betaBlue值为1减去Blue值
- g_dBetaBlueValue = (1.0 - g_dBlueValue);
- Image = Scalar(g_nBlueValueSlider, g_nBlueValueSlider, g_nBlueValueSlider);
- imshow(WINDOW_NAME, Image);
- }
- int main()
- {
- //设置滑动条初值为255
- g_nBlueValueSlider = 255;
- //创建窗体
- namedWindow(WINDOW_NAME, WINDOW_AUTOSIZE);
- //在创建的窗体中创建一个滑动条控件
- char TrackbarName[300];
- sprintf_s(TrackbarName, "颜色控制 %d", g_nMaxBlueValue);
- createTrackbar(TrackbarName, WINDOW_NAME, &g_nBlueValueSlider, g_nMaxBlueValue, on_Trackbar);
- //结果在回调函数中显示
- on_Trackbar(g_nBlueValueSlider, 0);
- //按任意键退出
- waitKey(0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement