OpenCV 通过 MFC 的 Picture Control 控件操作图像
2014-06-06 14:31
429 查看
如果希望对显示在MFC Picture Control 控件里的图像进行操作,比如画线画点之类的,可以利用 OpenCV 结合 MFC 本身的鼠标响应函数来实现。
如何将图像显示到 Picture Control 控件不谈,本文是采用的这篇博客所介绍的方法实现的。 点击打开链接
给对话框添加 WM_LBUTTONDOWN 鼠标左键点击消息,在消息响应函数中添加如下代码:
如何将图像显示到 Picture Control 控件不谈,本文是采用的这篇博客所介绍的方法实现的。 点击打开链接
给对话框添加 WM_LBUTTONDOWN 鼠标左键点击消息,在消息响应函数中添加如下代码:
void CMFCOpenCVShowDlg::OnLButtonDown(UINT nFlags, CPoint point) { CRect myshowwinrect; GetDlgItem(IDC_STATIC_SHOW)->GetWindowRect(myshowwinrect);//获得屏幕坐标 ScreenToClient(&myshowwinrect);//转到客户区相对坐标 if (point.x >= myshowwinrect.left && point.x <= myshowwinrect.right && point.y >= myshowwinrect.top && point.y <= myshowwinrect.bottom)//鼠标在Picture Control 控件上进行了单击操作 { int img_x = (double)img->width*(double)(point.x - myshowwinrect.left) / (double)myshowwinrect.Width();//计算鼠标点击横坐标相对图片上的横位置 int img_y = (double)img->height*(double)(point.y - myshowwinrect.top) / (double)myshowwinrect.Height(); int changepoint = img_y*img->widthStep / sizeof(uchar)+img_x*img->nChannels; //将图片的相应点标记为白色 img->imageData[changepoint+0] = 255; img->imageData[changepoint+1] = 255; img->imageData[changepoint+2] = 255; drawpic(img, IDC_STATIC_SHOW); } CDialogEx::OnLButtonDown(nFlags, point); }到此,鼠标在 Picture Control 控件上点击,则会在图像相应位置处画出一个白点。
相关文章推荐
- OpenCV 通过 MFC 的 Picture Control 控件操作图像
- OpenCV 通过 MFC 的 Picture Control 控件操作图像
- VS2013 MFC 直接将 OpenCV2.0/3.0 库中的 Mat 结构的图像传递到 Picture Control(图片控件)
- 在MFC控件中显示opencv库中的图像或者视频用的CvvImage
- OpenCV学习 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- MFC中 利用OpenCv显示图片到Picture Control控件
- OpenCV 利用MFC的Picture控件显示和处理图像
- OpenCV 利用MFC的Picture控件显示和处理图像
- 在MFC控件中显示opencv库中的图像或者视频用的CvvImage
- OpenCV 2.2版本以上显示图片到 MFC 的 Picture Control 控件中
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- opencv 中通过鼠标和键盘操作实现图像的平移
- OpenCV如何把图像显示到MFC的picture控件上
- OpenCV 2.2版本以上显示图片到 MFC 的 Picture Control 控件中
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 .
- 如何将MFC中Picture控件中的图像资源存放入Opencv中的Ipllmage变量中
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV 利用MFC的Picture控件显示和处理图像
- OpenCV学习笔记(三):将图像显示在MFC控件上并做直方图均衡化处理