MFC+OpenCV使用问题及解决办法


解决使用MFC+OpenCV过程中产生的问题


未为opencv_word341d.dll加载任何符号

  毕业设计要求使用MFC+OpenCV设计界面,使用的平台是VS2017,OpenCV版本是3.4.1。

  • 使用MFC对话框控件打开视频文件总是失败,后使用.cpp文件调试发现报错无可用信息,未为opencv_word341d.dll加载任何符号,所以打开视频失败,然后就猜测可能是环境设置问题,又重新检查每一步环境设置最终在环境变量path中未配置动态链接库所以出错。所以要仔细检查看问题出在哪里。在这里插入图片描述
  • OpenCV文件组成
    • VS中使用OpenCV调用的是①bin文件:opencv_ffmpeg341.dll,视频编解码软件②include文件:包含.h等头文件
    • x64文件=bin文件(opencv_world341d.dll)+ lib文件(opencv_world341.lib),其中vc14对应VS2015,vc15对应VS2017
  • OpenCV配置:
    • 配置Path系统环境变量:此电脑–>右键“属性”–>高级系统设置–>环境变量–>系统变量中的path,在变量值里面添加相应的路径; D:\opencv\opencv\build\x64\vc15\bin(配置动态链接库,注意自己的路径)
    • VS2017中配置OpenCV
      • 菜单栏中点击视图->属性管理器,即打开属性管理器工作区;工程中右击–>属性
        • 包含目录配置:VC++目录—>包含目录
          D:\opencv\opencv\build\include
          D:\opencv\opencv\build\include\opencv
          D:\opencv\opencv\build\include\opencv2
        • 目录配置:VC++目录—>库目录D:\opencv\opencv\build\x64\vc15\bin
          • x64表示电脑是64位,32位选择x86
          • vc10表示VS是2010,vc11对应VS2012,vc12对应VS2013,vc14对应VS2015 ,vc15对应VS2017
        • 链接器配置:链接器–>输入–>附加依赖项
          • debug:opencv_world341d.lib
          • release:opencv_world341.lib
    • 若执行时出现找不opencv_world320d.dll,就把自己opencv文件目录下的D:\opencv\opencv\build\x64\vc15\bin中的三个dll文件,拷贝到C:\window\System32C:\window\SysWOW64
MFC对话框下cv::waitKey()无用问题

  cv::waitKey()是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用。在MFC环境下,这个函数不起作用。所以为了起到延时的作用使用了Sleep函数,经过测试当参数为50ms,即Sleep(50),视觉效果最佳。或者利用WM_TIMER消息进行处理即可正常播放。

不存在从CString到LPCSTR的适当转换作业

  使用LPCSTR函数进行转换时报错,这是使用字符集的问题,可以在右击项目属性->字符集->使用多字节字符集即可解决
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值