Opencv实现可调色画笔的功能
来源:互联网 发布:mac speak louder试色 编辑:程序博客网 时间:2024/05/16 12:09
版权声明:本文为博主原创文章,未经博主允许不得转载。
#include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; bool g_bDrawing = false; RNG g_rng(12345); Point g_nCurrPoint; Point g_nPrePoint = Point(0,0); int g_nThick = 0, g_nBlue = 0, g_nGreen = 0, g_nRed = 255; /*注意:不能在毁掉函数中写入未初始化的矩阵类,所以需要用时,需要写一个标志位,然后再在while(1)循环内使用*/ void onMouse(int event, int x, int y, int flag, void *param) { Mat &img = *(cv::Mat*)param; switch (event) { //点击鼠标左键时 case CV_EVENT_LBUTTONDOWN: {g_bDrawing = true;g_nPrePoint = Point(x, y); } break; //松开鼠标左键时 case CV_EVENT_LBUTTONUP: { g_bDrawing = false; } break; //移动鼠标的时候 case CV_EVENT_MOUSEMOVE: { if(g_bDrawing){g_nCurrPoint = Point(x, y); //将前一点与现在鼠标所在的点连接,色彩由scalar内参数调整,line(img, g_nPrePoint, g_nCurrPoint, Scalar(g_nBlue, g_nGreen, g_nRed),g_nThick + 1, 4); //line函数g_nPrePoint=g_nCurrPoint;} } break;}} int main() { Mat srcImage(600, 800, CV_8UC3); Mat tempImage; srcImage.copyTo(tempImage); srcImage = Scalar::all(255); namedWindow("【鼠标事件窗口】", 1); setMouseCallback("【鼠标事件窗口】", onMouse, (void *)&srcImage); //创建颜色控制窗口 // namedWindow("【滚动条窗口】", 1); createTrackbar("thick", "【鼠标事件窗口】", &g_nThick, 10, 0); createTrackbar("Red", "【鼠标事件窗口】", &g_nRed, 255, 0); createTrackbar("Green", "【鼠标事件窗口】", &g_nGreen, 255, 0); createTrackbar("Blue", "【鼠标事件窗口】", &g_nBlue, 255, 0);////后期想法:再创建显示颜色合成窗口,让人知道调试了什么颜色、、、、//Mat imag2;//Mat ImageROI(srcImage,cv::Rect(srcImage.cols-imag2.cols,srcImage.rows-imag2.rows)); //imag2.copyTo(srcImageROI); char key; while (1) { imshow("【鼠标事件窗口】", srcImage); key = waitKey(1); if (key == 27) break; if (key == 'r') srcImage = Scalar::all(255); if (key == 's') imwrite("MouseDraw.jpg", srcImage); } return 0; }
0 0
- Opencv实现可调色画笔的功能
- Opencv实现画笔的功能
- canvas实现简单的画笔功能
- Android 画笔演示功能的实现
- javaScrip实现调色板本功能
- android 画布,画笔,综合使用,可实现简单的画板
- cocos2d实现画笔功能及常用的绘制函数
- 涂涂乐的详细实现之一--画笔核心功能
- OpenCV 灰度调色的几种方法
- cocos2d-x Demo-实现画笔功能
- Android 5.0 调色 Palette调色功能
- 网页实现划线功能:VML标记语言-IE的画笔
- 在开发板上实现usb mouse做画笔的功能
- 实现可自定义的搜索功能
- 关于调色版的16进制颜色的实现.
- object-c画笔的简单实现
- html5 canvas 画笔透明的实现方法
- 画笔实现的一个简单自定义控件
- 周次转换,按splitstr号分隔name转换成List
- ios 批量图片上传服务器优化
- Docker+Nginx+Tomcat7配置简单的负载均衡
- 阿里云Maven仓库
- RS232 CTS/RTS
- Opencv实现可调色画笔的功能
- vijos1942——小岛 Floyed
- 运维学习12
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
- react native Touchable 系列组件使用详解
- C++中局部变量、全局变量、静态局部变量、静态全局变量
- C++实验4—输出星号图
- 文章标题
- Java读取Excel文件