opencv利用鼠标获取像素值
2013-12-20 16:07
113 查看
参考:opencv利用鼠标获取像素值
原文只获取了彩色图像rgb值,我小小的改动了一下,使能够自适应获取像素值
原文只获取了彩色图像rgb值,我小小的改动了一下,使能够自适应获取像素值
#include <stdlib.h> #include <iostream> #include <string> #include <opencv/cv.h> #include <opencv/highgui.h> using namespace std; void mouseHandler(int event, int x,int y ,int flags,void *p){ IplImage *img1; img1=cvCloneImage((IplImage*)p); CvFont font; uchar *ptr; cvInitFont (&font,CV_FONT_HERSHEY_PLAIN,0.8,0.8,0,1,8); if ((img1->nChannels == 1)&&(event==CV_EVENT_LBUTTONDOWN)){ char label[50]; ptr=cvPtr2D(img1, y,x,NULL); sprintf(label, "(%d, %d: %d)", x, y, ptr[0]); std::cout << label << endl; cvRectangle(img1, cvPoint(x,y-12),cvPoint(x+100, y+4), cvScalar(255),CV_FILLED, 8,0); cvPutText(img1,label,cvPoint(x,y),&font,cvScalar(0) ); cvShowImage("src",img1); } else if(event==CV_EVENT_LBUTTONDOWN){ char label[50]; ptr=cvPtr2D(img1, y,x,NULL); sprintf(label, "(%d, %d: %d, %d, %d)", x, y, ptr[0],ptr[1],ptr[2]); cout << label <<endl; cvRectangle(img1, cvPoint(x,y-12),cvPoint(x+150, y+4), CV_RGB(255,0,0),CV_FILLED, 8,0); cvPutText(img1,label,cvPoint(x,y),&font,CV_RGB(255,255,255) ); cvShowImage("src",img1); } } int main(){ IplImage *src; src=cvLoadImage("C:/Users/robot/Desktop/1.jpg",1); assert(src); cvNamedWindow("src", 1); cvSetMouseCallback("src", mouseHandler, (void*)src); mouseHandler(0,0,0,0,src); cvShowImage("src",src); cvWaitKey(0); return 0; }
相关文章推荐
- 利用opencv获取鼠标左键点击位置图像的像素值
- opencv利用鼠标获取图像的像素值
- opencv利用鼠标获取图像的像素值
- OpenCV之利用鼠标获取坐标
- 利用opencv,在图像中获取鼠标按下时坐标和灰度值
- 利用OpenCV鼠标事件设置函数setMouseCallback显示图像像素坐标值!
- OpenCV之利用鼠标获取坐标 响应鼠标消息
- 用opencv读取图像的每个像素值,鼠标点击获取每一个点,并显示像素
- OpenCV之利用鼠标获取坐标
- OpenCV之响应鼠标(一):利用鼠标获取坐标
- OpenCV获取与设置像素点的值的几个方法
- OpenCV: 鼠标获取坐标
- 在页面中 js 获取光标/鼠标的坐标,获取光标的的像素坐标
- OpenCV-利用其它widthStep方法把interest——img的所有像素值增加200
- python3.6+opencv3.4实现鼠标交互查看图片像素
- 机器视觉学习笔记(10)——使用鼠标获取像素点信息
- OpenCV中获取图像某一像素值
- OpenCV中获取图像某一像素值
- OpenCV获取与设置像素点的值的几个方法
- 利用AJAX实现鼠标悬浮获取值的代码