opencv 建立視窗滑動條
阿新 • • 發佈:2021-12-16
前言
我們有時候需要對 opencv 某個函式進行動態調參,這時候就要使用到 opencv 提供的滑動條工具啦
該滑動條滑動時可以動態的改變我們的引數,對影象處理時有非常好的輔助效果
該滑動條是由 createTrackbar() 函式建立的。
接下來,上程式碼。
完整程式碼
#include <iostream> #include <opencv2/opencv.hpp> cv::Mat src, dst; const char *window_name = "滑塊調整影象亮度";// 視窗名字 int light_value_cur = 50; // 初始亮度值 int light_value_max = 255; // 亮度最大值 // 滑塊回撥函式 static void onTrack(int pos, void* usrdata) { cv::subtract(*((cv::Mat*)usrdata), cv::Scalar(pos, pos, pos), dst); cv::imshow(window_name, dst); } int main() { src = cv::imread("./image/4.jpg"); if (src.empty()) { std::cout << "imread image fail!" << std::endl; return -1; } cv::namedWindow(window_name, cv::WINDOW_AUTOSIZE); // 建立滑鼠滑塊 範圍[0, light_value_max] cv::createTrackbar(cv::String("亮度:"), window_name, &light_value_cur, light_value_max, onTrack, &src); onTrack(50, &src); // 手動呼叫,方便影象根據值進行初始化 cv::waitKey(0); cv::destroyAllWindows(); return 0; }
除錯結果:
_End
完事兒。
本文來自部落格園,作者:拾荒荒,轉載請註明原文連結:https://www.cnblogs.com/lvvou/p/15699129.html