opencv安装配置全流程以及运行中出现的一些问题

供自己以后学习使用。

opencv的安装配置:

1.去官网下载realse好的文件。

点击Library。

        找到合适的版本,选择Windows,下载得到一个exe可执行程序,运行该exe文件并extract就得到了realse好的代码。

        如果选择source(源码),则下载后需要使用cmake进行configure,generation然后用VS进行编译,比较麻烦。

2.电脑系统方面的配置。

(1)环境变量的配置。以我自己安装的opencv为例,需要在环境变量中添加如下路径:

        ../opencv\build\x86\vc11\bin

(2)系统文件的配置。需要把bin文件夹下的三个dll文件复制到

        C://windows/system32(X32系统)

        C://windows/sysWOW64(X64系统)

        文件夹下

3.VS工程的配置

(1)vc++包含目录中包括

        ../opencv\build\include

        ../opencv\build\include\opencv2

(2)库目录中包含        

        ../opencv\build\x86\vc11\bin

(3)项目属性->链接器->输入->附加依赖项

        ..\opencv\build\x86\vc11\lib\opencv_world300.lib

至此opencv基本配置结束。

下面是使用中出现的一些问题:

使用的是如下测试代码:

#include<opencv2/opencv.hpp>
#include <opencv2\imgproc\types_c.h>

using namespace cv;

void main()
{
    Mat img = imread("circle.jfif");  //此处不设置第二个参数,默认值为1,故读入总是转换图像到彩色再返回,注意修改文件路径
    Mat srcGray;
    namedWindow("image", WINDOW_NORMAL); //创建可以自己调节大小的窗口,第二参数说明是自己可以调节大小
    cvtColor(img, srcGray, CV_BGR2GRAY);   //将彩色图像转换成灰度图像
    imshow("image", srcGray);
    //imwrite("messigray.png", srcGray);  //第一个参数是文件名,要带上文件的格式即后缀。
    waitKey();
}

(1)VS提示“模块计算机类型x64与目标计算机类型x86不一致”。

        模块计算机类型指的是安装的opencv指定的计算机类型,最初我下载的是opencv官网给的4.0以上的realse版本,但其中build文件夹下只有x64没有x86。为此有两个解决方法。一是下载源代码,用cmake+VS自行编译X64版本。二是像我一样下载opencv3.0版本,其中有x86文件夹。

(2)VS提示找不到MSVCP110D.dll。

        引用博客:(17条消息) msvcp110d.dll 丢失问题解决_狼哥-CSDN博客_msvcp110d

    

        一般用vs生成的程序在安装了vs运行包的电脑上也会报出来这个错误,很多人不理解为什么我安装了运行环境还报错呢。主要原因是你的应用程序是在debug环境下生成的,这时候应用程序的支持库是debug版本,而微软给发布的运行环境是releas版的。msvcp110d.dl 这个库就是debug版本的库文件,如果用release版发布需要的库就是msvcp110.dl 这个库,这个库是在vs的运行环境中,但是msvcp110d.dl 这个库是不在运行环境中。库文件名字后边带d的都是调试版本库。因此你把程序中所有用到的库都改成release版本就不会再报出错误了。

        所以问题在于我看别人的配置时,附加依赖项用的是opencv_world300d.lib,其中d代表调试的debug版本,但微软的软件都是realse版本,把附加依赖项改成opencv_world.lib就可以了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值