OpenCV之鼠标选定区域重放

这篇博客介绍如何利用OpenCV实现鼠标选择图像区域,并在独立窗口中以原始比例显示。通过提供的代码示例,读者可以理解如何结合鼠标事件处理来完成这一功能。
摘要由CSDN通过智能技术生成

这里主要的想法是鼠标在原始图像上选定区域,该区域图像在另外一个窗口中以原始大小进行显示。代码如下:

const char *window_original="original";
const char *window_test="test";
CvPoint p_start,p_end;
void mouse_callback(int event,int x,int y,int flags,void* param)
{
	IplImage *temp=(IplImage *)param;
	CvRect img_choose;
		switch(event)
	{
	case CV_EVENT_LBUTTONDOWN:
		cvDestroyWindow(window_test);
		p_start=cvPoint(x,y);
		break;
	case CV_EVENT_LBUTTONUP:
		p_end=cvPoint(x,y);
		img_choose=cvRect(p_start.x,p_start.y,CV_IABS(p_end.x-p_start.x),CV_IABS(p_end.y-p_start.y));
		cvSetImageROI(temp,img_choose);
		//cvNamedWindow(window_test,CV_WINDOW_AUTOSIZE);
		cvShowImage(window_test,temp);
		cvResetImageROI(temp);
		break;
	}
		
}
int main(int argc, char* argv[])
{	
	IplImage *img=NULL;
	img=cvLoadImage("E:/opencv_project/console/Debug/Lena.jpg");
	cvNamedWindow(window_original,CV_WINDOW_AUTOSIZE);
	cvNamedWindow(window_tes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值