Opencv--鼠标获取图像坐标

很多情况下,我们在进行图像处理时,都想看一下某一个点的像素坐标或者是颜色信息。

这有助于验证我们对图像算法的可靠性。本篇博文给出了在opencv中使用鼠标获取图像的位置信息和颜色信息。

开发环境为VC6.0、OpenCv1.0.

这里主要用到了鼠标的属性:

void mouseHandler(int event, int x,int y ,int flags,void *p)
{
	IplImage *img0, *img1;
	img0 = (IplImage*)p;
	img1 = cvCloneImage(img0);
	CvFont font, font2;
	uchar *ptr;
	char label[1000];
	char label2[1000];
	cvInitFont (&font,CV_FONT_HERSHEY_PLAIN,1,1,0,1,1);
	cvInitFont (&font2,CV_FONT_HERSHEY_PLAIN,1,1,0,1,1);
	if(event==CV_EVENT_LBUTTONDOWN)
	{
		ptr = cvPtr2D(img1, y,x,NULL);	//获取像素的灰度值
		sprintf(label, "Color:(%d, %d, %d)",ptr[0], ptr[1], ptr[2]);
		sprintf(label2, "Pixel:(%d, %d)", x, y);	//获取坐标点位置
		cvRectangle(img1, cvPoint(x,y-12),cvPoint(x+180, y+20),
			CV_RGB(255,0,0),CV_FILLED, 8,0);
		cvPutText(img1,label,cvPoint(x,y),&font,CV_RGB(255,255,255) );
		cvPutText(img1,label2,cvPoint(x,y+20),&font2,CV_RGB(255,255,255) );
		cvShowImage("src",img1);
	}
}

实验结果图如下:

源代码下载地址:http://download.csdn.net/detail/beijingmake209/7341415

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值