openCV错误解决方案:无法启动此程序,因为计算机中丢失opencv_world310.dll

 

   最近在初学opencv时,遇到了一些配置上的问题。我的VS版本是2017版本,opencv版本是3.1.0版本。对于初学者,一般的配置步骤如下:

1.配置环境变量

右键->属性->高级系统设置->环境变量

找到系统变量中的path变量,双击新建,将你的opencv文件夹中的opencv\build\x64\vc14\bin路径添加

2.属性管理器配置

新建一个项目->菜单栏->视图->其他窗口->属性管理器

属性中的 VC++目录->包含目录->添加以下三项

D:\opencv\opencv\build\include

D:\opencv\opencv\build\include\opencv

D:\opencv\opencv\build\include\opencv2

VC++目录->库目录->添加以下项

D:\opencv\opencv\build\x64\vc14\lib

链接器->输入->附加依赖项->手打加入

opencv_world310d.lib

 

然后编写测试程序:

#include <opencv2/core/core.hpp>

#include <opencv2/imgcodecs.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <iostream>

using namespace cv;

using namespace std;

int main(int argc, char** args) {     

Mat image = imread("‪D:\picture\test\test.jpeg", IMREAD_GRAYSCALE);  //修改成自己的图片路径

//注意我这里路径有问题,请往下继续看

   if (image.empty()) {       

     cout << "could not find the image resource..." << std::endl;         

     return -1;     }     

  namedWindow("My Image", CV_WINDOW_AUTOSIZE);     

  imshow("My Image", image);     

  waitKey(0); //这一步一定要加上

  return 0;

}

Debug下运行发现出现以下问题:

还有丢失opencv_world310d.dll总共两个文件。对于初学者来说不知道什么原因,只得上网查资料,经过不断努力,总算找到了解决方案。

原来是计算机没有这两个文件,先不管这个加d和不加d的功能作用,怎么才能找到这俩文件呢?经过我的资料查找得知,这两个文件是分操作系统版本的,有32位(x86)和64位(x64)这两种版本。为了给大家节约时间,直接上某盘链接:

https://pan.baidu.com/s/1-9LaG130AGrkxoq0LJNAXQ 提取码:j57a

现在大家的计算机普遍都是64位,解压完毕后,有一个万金油做法,根据以下操作进行:

32位文件:将加d和不加d的dll文件复制到C:\Windows\SysWOW64

64位文件:将加d和不加d的dll文件复制到C:\Windows\System32

注意:你没有看错,我也没有打错,32在64里,64在32里。

这样就可以解决上述问题了。

当我满怀期待的去运行,结果又出了猫腻。。。(唉,职业之痛)

图片不显示(直接闪退)并有以上错误。

但是这个问题经过仔细分析很可能是程序问题,疯狂查找资料,在半夜12点终于找到了问题,是图片路径不对,我写的绝对路径是在图片的属性中直接复制的,而在opencv此版本中并不能识别!

比如我的路径为D:\picture\test\test.jpeg右斜杠并不正确,正确的写法有//、\\、/、混合,唯独\不正确(被针对的感觉),于是改为D://picture//test//test.jpeg,终于正确,黄天不负有心人,卡了几天的问题终于解决,最后附正确图一张。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值