zoukankan      html  css  js  c++  java
  • MFC中快速应用OpenCV教程

    论坛上看到非常经典的VS2008 + OpenCV 2.0下的配置过程:

    (这里用的是opencv2.0)


    1. 文件 | 项目 | MFC | MFC应用程序 |(新名称如MFCtest)|next
    2. 单文档,取消使用Unicode库选项,选中在静态库中使用MFC | next
    3. 取消ActiveX控件选项 | next | 完成
    4. 项目 | 属性 | 链接器 | 
    输入(活动Debug) | 附加依赖项 | cxcore200d.lib cv200d.lib highgui200d.lib

    输入(Release) | 附加依赖项 | cxcore200.lib cv200.lib highgui200.lib

    《opencv1.0的话是cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib》

    5. 解决方案中 | MFCtestDoc.h 中增加 | include “highgui.h” | 
    public 中增加 CImage m_image
    6. 类视图 | 右击 CMFCtestDoc | 增加 | 增加函数 | 增加函数名OnOpenDocument | 参数类型 LPCTSTR,参数lpszPathName | 添加 | 选中虚函数。|
    (注意:这里我直接用下来菜单中的bool(小写),编译会出错的,改为BOOL(大写)后编译通过,看了下自带的OnNewDocument的返回值也是BOOL(大写))
    7. 在OnOpenDocument中增加代码:

    [html] view plain copy
     
    1. if(!CDocument::OnOpenDocument(lpszPathName))  return false;  
    2. m_image.Load(lpszPathName);  
    3. return true;  

    8. 同6,7步增加OnSaveDocument代码:

    [html] view plain copy
     
    1. m_image.Save(lpszPathName);  
    2. return true;  

    9. 在CMFCtestView中的OnDraw中在原有代码基础上修改为:
    (注意首先把OnDraw的参数改为CDC* pDC)

    [html] view plain copy
     
    1. CMFC_testDoc* pDoc = GetDocument();  
    2. ASSERT_VALID(pDoc);  
    3. if (!pDoc)  
    4.    return;  
    5. CImage & img = pDoc ->m_image;  
    6. CRect r;  
    7. GetClientRect (&r);  
    8. img.DrawToHDC(pDC->GetSafeHdc() ,r);  

    10.运行正常

    from: http://blog.csdn.net/abcjennifer/article/details/7215765

  • 相关阅读:
    简简单单的 JavaScript简写技巧
    常用的前端小知识
    nuxt项目部署对静态页重编译问题
    docker 容器部署nuxt项目
    mysql数据库损坏修复问题
    storm supervisor和nimbus启动自动消失的问题
    MATLAB基础知识
    音视频入门-20-BMP、PNG、JPG、GIF静态图生成GIF动态图
    处理树状结构数据以及 React渲染
    React Hooks 获取最新数据问题
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/5374091.html
Copyright © 2011-2022 走看看