zoukankan      html  css  js  c++  java
  • OpenCV第二课,嵌入MFC

    单纯显示图片,只需链接

    opencv_core2411d.lib
    opencv_highgui2411d.lib

    1、首先创建一个MFC的dlg,添加Picture Control控件

     1 void CCOpenCvDemoDlg::OnBnClickedBtnDraw()
     2 {//窗口绘制图片
     3     IplImage *image=NULL; //原始图像
     4     if(image) cvReleaseImage(&image);
     5     std::string strPath = "F:\VSProject\COpenCvDemo\image\first.jpg";
     6     image = cvLoadImage(strPath.c_str(),CV_LOAD_IMAGE_COLOR); //显示图片
     7 
     8     CDC *pDC = GetDlgItem(IDC_STATIC_PICTURE)->GetDC();
     9     HDC hDC= pDC->GetSafeHdc();
    10     CRect rect;
    11     GetDlgItem(IDC_STATIC_PICTURE)->GetClientRect(&rect);
    12     CvvImage cimg;
    13     cimg.CopyOf(image); // 复制图片
    14     cimg.DrawToHDC(hDC, &rect ); // 将图片绘制到显示控件的指定区域内
    15     ReleaseDC( pDC );
    16 }

    用的的CvvImage类:CvvImage在高级别的Opencv2.4.11下的配置以及错误解决办法

    2、有图有真相:

     如果希望在dlg初始化之后直接显示图片:

    使用vs类向导重载OnPaint()

    1 void CDrawPictureDlg::OnPaint()
    2 {
    3     CPaintDC dc(this); // device context for painting
    4     CDialog::OnPaint();
    5     // 重绘对话框
    6     CDialog::UpdateWindow();          // 更新windows窗口,如果无这步调用,图片显示还会出现问题
    7     OnBnClickedBtnDrawpic();
    8     ModifyStyle(0, WS_CLIPCHILDREN);
    9 }
  • 相关阅读:
    2020/5/18
    2020/5/17
    2020/5/15
    2020/5/13
    2020/5/12
    服务器环境配置五大免费主机系统
    6:运算符
    5:练习题
    4:Python的while循环
    3:Python条件语句
  • 原文地址:https://www.cnblogs.com/lpxblog/p/4703389.html
Copyright © 2011-2022 走看看