利用opencv,在图像中获取鼠标按下时坐标和灰度值
来源:互联网 发布:ledv3.zh3软件下载 编辑:程序博客网 时间:2024/06/04 19:12
很多都是opencv1的代码,这里特意写一个opencv2的。
为了方便获取图片指定点的灰度值,找出图片之间的共同特性,特意外写了这个代码:
void on_mouse(int event, int x, int y, int flags, void* prarm){Mat& pic1 = *(Mat*)prarm;Mat pic2 = pic1.clone();int cha = pic1.channels();char label[20];char label2[20];if (event == CV_EVENT_LBUTTONDOWN){uchar* ptr = (uchar*)pic1.data + y * pic1.cols; //获取指定点的像素值
sprintf(label, "gray value: %d", ptr[x]);sprintf(label2, "pixel: (%d,%d)", x, y);
if (pic1.cols - x <= 180 || pic1.rows - y <= 20){cv::rectangle(pic2, cvPoint(x - 180, y - 40), cvPoint(x - 10, y - 10), CV_RGB(0, 0, 0));cv::putText(pic2, label, cvPoint(x - 180, y - 30), CV_FONT_HERSHEY_SIMPLEX, 1,Scalar(0, 0, 255),2,8);cv::putText(pic2, label2, cvPoint(x - 180, y - 10), CV_FONT_HERSHEY_SIMPLEX,1,Scalar(0, 0, 255),2,8);}else{cv::rectangle(pic2, cvPoint(x + 10, y - 12), cvPoint(x + 180, y + 20), CV_RGB(0, 0, 0));cv::putText(pic2, label, cvPoint(x + 10, y), CV_FONT_HERSHEY_SIMPLEX,1, Scalar(0, 0, 255),2,8);cv::putText(pic2, label2, cvPoint(x + 10, y + 20),CV_FONT_HERSHEY_SIMPLEX,1, Scalar(0, 0, 255),2,8);}CvPoint centerPoint;centerPoint.x = x;centerPoint.y = y;cv::circle(pic2, centerPoint, 3, Scalar(0, 0, 0), 1, 8, 3);cv::imshow("pic", pic2); //绘制以鼠标坐标为圆心的圆}}int _tmain(int argc, _TCHAR* argv[]){string filename = R"(C:\Users\Administrator\Desktop\微信图片_20170726101932.jpg)";Mat pic = imread(filename,CV_LOAD_IMAGE_UNCHANGED);namedWindow("pic",CV_WINDOW_NORMAL);cvSetMouseCallback("pic",on_mouse,(void*)&pic);cv::imshow("pic",pic);waitKey();return 0;}
阅读全文
0 0
- 利用opencv,在图像中获取鼠标按下时坐标和灰度值
- OpenCV—利用回调函数实现返回鼠标点击位置的坐标和灰度值
- Opencv--鼠标获取图像坐标
- 利用OpenCV鼠标事件设置函数setMouseCallback显示图像像素的RGB、HSV和坐标值!
- OpenCV之利用鼠标获取坐标
- OpenCV之利用鼠标获取坐标
- openCV 鼠标获取坐标值
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- opencv利用鼠标获取图像的像素值
- opencv利用鼠标获取图像的像素值
- opencv利用鼠标获取图像的像素值
- OpenCV之利用鼠标获取坐标 响应鼠标消息
- OpenCV: 鼠标获取坐标
- opencv鼠标获取坐标
- OpenCV学习笔记(18):在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
- 鼠标在图像中划线,返坐标值
- 开发中常见 Oracle和Mysql 语句差异
- ofbiz 新建模块
- 初学Python问题集锦
- 数据结构——链表(3)
- jsp中自定义标签自动加载下拉框内容
- 利用opencv,在图像中获取鼠标按下时坐标和灰度值
- Mac上配置svn diff为kdiff3
- Python-day01
- 移动端H5,拍照,录制视频以及录音功能的调用
- Python正则表达式
- 卷积神经网络调参经验
- Jump Game II leetcode java
- 我也要做架构师
- 编写jQuery插件