鼠标事件和滑动条控制在计算机视觉和OpenCV中非常有用,使用这些控件,用户可以直接与图形界面交互,改变输入图像或者变量的属性值。/* In this section, we are going to introduce you to the concepts of adding slider and mouse events for basic interactions. To understand this correctly, we will create a small project, where we paint green circles in the image using the mouse events and blur the image with slider. */ #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp> using namespace cv;// Create a variable to save the position value in track int blurAmount = 15;// Trackbar call back function static void onChange(int pos, void* userInput);// Mouse callback static void onMouse(int event, int x, int y, int, void* userInput);int main(int argc, const char** argv) { // Read images Mat boy = imread("../images/eating.jpg"); // Create windows namedWindow("Boy"); // Create a trackbar createTrackbar("Boy", "Boy", &blurAmount, 30, onChange, &boy); setMouseCallback("Boy", onMouse, &boy); // Call to onChange to init onChange(blurAmount, &boy); // wait app for a key to exit waitKey(0); // Destroy the windows destroyWindow("Boy"); return 0; }// Trackbar call back function static void onChange(int pos, void* userInput) { if (pos <= 0) return; // Aux variable for result Mat imgBlur; // Get the pointer input image Mat* image = (Mat*)userInput; // Apply a blur filter blur(*image, imgBlur, Size(pos, pos)); // Show the result imshow("Boy", imgBlur); }// Mouse callback static void onMouse(int event, int x, int y, int, void* userInput) { if (event != EVENT_LBUTTONDOWN) return; // Get the pointer input image Mat *image = (Mat*)userInput; // Draw circle circle(*image, Point(x, y), 10, Scalar(0, 255, 0), 3); // Call onChange to get blurred image onChange(blurAmount, image); }程序运行效果如下:OpenCV官方教程中文版(For Python) PDF http://www.linuxidc.com/Linux/2015-08/121400.htmUbuntu Linux下安装OpenCV2.4.1所需包 http://www.linuxidc.com/Linux/2012-08/68184.htmUbuntu 12.04 安装 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htmCentOS下OpenCV无法读取视频文件 http://www.linuxidc.com/Linux/2011-07/39295.htmUbuntu 12.04下安装OpenCV 2.4.5总结 http://www.linuxidc.com/Linux/2013-06/86704.htmUbuntu 10.04中安装OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm基于QT和OpenCV的人脸识别系统 http://www.linuxidc.com/Linux/2011-11/47806.htm[翻译]Ubuntu 14.04, 13.10 下安装 OpenCV 2.4.9 http://www.linuxidc.com/Linux/2014-12/110045.htmOpenCV的详细介绍:请点这里 OpenCV的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-05/131621.htm