opencv之cv::createTrackbar使用及代码实现

简介: opencv之cv::createTrackbar使用及代码实现


20180521001127674.png


形式参数一、trackbarname:滑动空间的名称;


形式参数二、winname:滑动空间用于依附的图像窗口的名称;


形式参数三、value:初始化阈值;


形式参数四、count:滑动控件的刻度范围;


形式参数五、TrackbarCallback是回调函数,其定义如下:


   typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);


使用及实现方法:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
Mat src, dst;
int vale = 0;
int max_value = 5;
RNG rng(12345);
void demo_puttext(int, void*);
int main(){
 src = imread("D:/photo/5.jpg");
 if (src.empty())
 {
 cout << "open no success" << endl;
 return -1;
 }
 //创建窗口
 namedWindow("show image", WINDOW_AUTOSIZE);
 //创建滑块
 createTrackbar("value", "show image", &vale, max_value, demo_puttext);
 //主函数调用
 demo_puttext(0,0);
 //循环显示
 waitKey(0);
 return 0;
}
void demo_puttext(int, void*){
 //模糊处理去噪声
 blur(src, dst, Size(3,3), Point(-1,-1));
 //定义随机颜色
 Scalar color = Scalar(rng.uniform(0,255),rng.uniform(0,255),rng.uniform(0,255));
 //进行条件执行
 switch(vale){
 case 0:
 putText(dst, "0", Point(50,50), CV_FONT_HERSHEY_COMPLEX, 1, color);
 break;
 case 1:
 putText(dst, "1", Point(50,50), CV_FONT_HERSHEY_COMPLEX, 1, color);
 break;
 case 2:
 putText(dst, "2", Point(50,50), CV_FONT_HERSHEY_COMPLEX, 1, color);
 break;
 case 3:
 putText(dst, "3", Point(50,50), CV_FONT_HERSHEY_COMPLEX, 1, color);
 break;
 case 4:
 putText(dst, "4", Point(50,50), CV_FONT_HERSHEY_COMPLEX, 1, color);
 break;
 case 5:
 putText(dst, "5", Point(50,50), CV_FONT_HERSHEY_COMPLEX, 1, color);
 break;
 }
 //显示
 imshow("show image", dst);

}

20180521001343489.png20180521001357402.png

相关文章
|
7月前
|
传感器 C++ 计算机视觉
【opencv3】详述PnP测距完整流程(附C++代码)
【opencv3】详述PnP测距完整流程(附C++代码)
|
计算机视觉 Python
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
最快速度写出一个识别效果——OpenCV模板匹配(含代码)
487 0
|
7月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
5月前
|
机器学习/深度学习 人工智能 算法
Python在计算机视觉(CV)中扮演重要角色,得益于其丰富的库如OpenCV、Pillow和Scikit-image。
【7月更文挑战第5天】Python在计算机视觉(CV)中扮演重要角色,得益于其丰富的库如OpenCV、Pillow和Scikit-image。CV涉及图像处理、模式识别和机器学习,用于图像理解和生成。Python的跨平台特性和活跃社区使其成为CV的理想工具。基本流程包括图像获取、预处理、特征提取、分类识别及图像生成。例如,面部识别通过预处理图像,使用如`cv2.CascadeClassifier`进行检测;物体检测类似,但需适应不同目标;图像生成则利用GAN创造新图像。
74 4
|
6月前
|
算法 开发工具 计算机视觉
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
【零代码研发】OpenCV实验大师工作流引擎C++ SDK演示
94 1
|
4月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
4月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
|
4月前
|
算法
OpenCV-Python】滑动条Trackbar的创建和使用(createTrackbar())
该文章介绍了如何在OpenCV-Python中创建和使用滑动条(Trackbar)来动态调节参数,并通过实际代码示例演示了如何通过滑动条控制图像颜色。
|
4月前
|
计算机视觉
OpenCV滑动条(createTrackbar()函数)如何在多个维度进行同步调整?
这篇文章介绍了如何在OpenCV中使用`createTrackbar()`函数创建多个滑动条以同步调整图像的多个维度(如亮度和对比度),通过将不同滑动条的回调函数合并为一个,确保它们在同一图像基础上进行调整。
|
7月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)