OpenCV3.4.1+Visual Studio2017 环境配置

版权声明:有需要的请联系QQ1634475153,欢迎技术交流 https://blog.csdn.net/jinmie0193/article/details/79948040

我的opencv路径:E:\learn\OpenCv\opencv

通过以下配置,以后新建工程就不需要频繁配置了


1.opencv 3.4.1环境变量

计算机属性 ->高级系统设置-> 环境变量 ->系统环境变量 ->PATH ->新建

输入E:\learn\OpenCv\opencv\build\x64\vc15\bin

指定为

之后win+R输入    shutdown.exe -l    //注销电脑

再次登录win+R输入    cmd

在cmd中输入    opencv_version


显示版本则配置成功

2.visula studio 2017

视图 其他窗口 属性管理器


(这时候能看到自己的工程名字,点开)如下:


因为我的都是64版本,所以选中Debug64或Release 64那项(都是通用配置,哪个都行),双击Microsoft:


选中vc++目录->包含目录:添加三行->确定

E:\learn\OpenCv\opencv\build\include

E:\learn\OpenCv\opencv\build\include\opencv

E:\learn\OpenCv\opencv\build\include\opencv2

选中库目录:添加新行->确定

E:\learn\OpenCv\opencv\build\x64\vc15\lib


最后一个比较坑人的地方:链接器 输入

opencv_world341d.lib

opencv_world341.lib


注意:

    因为之前都是通用配置,所以当你输入上面内容时,

    若opencv_world341d.lib在前,Debug能过,Release也能过,但是退出时会异常,会出现灰色窗口;

    若opencv_world341.lib在前,Release能过,Debug也能过,但是退出时无异常,会出现灰色窗口。

    两个都输入只是让你可以编译通过。

建议把常用的调试模式放到前面,如常用Debug就把opencv_world341d.lib放前面,这样Debug模式就不会出错,只用不用Relsase就行,后面会有解决办法:

问题截图:


解决办法:(这个对于每个项目都要重新设置)

在解决方案资源管理器中,右键项目名 属性 链接器 输入   

    在Debug模式下只输入    opencv_world341d.lib

    在Release模式下只输入    opencv_world341.lib

    提示一定要写对,否则可能出现图像无法加载,线程阻塞等问题





3.添加main.cpp

#include "stdafx.h"
#include <opencv2/opencv.hpp>  
#include <iostream>  

using namespace cv;

int main(int argc, char* argv[])
{ 
	//读取一张图片,在cpp目录下
	Mat src = imread("321.jpg");
	if (src.empty())
	{
		printf("Could not load image.");
		return -1;
	}
	//创建一个窗口,设置大小为自动大小  
	namedWindow("Test OpenCV setup1", CV_WINDOW_AUTOSIZE);
	//显示该窗口  
	imshow("Test OpenCV setup1", src);
	//等待键盘任意键按下关闭此窗口  
	waitKey(0);
	return 0;
}

注意运行调试时,选择正确的调试模式,如我的64版本


简单点的加载图片:

void bookDemo()
{
	//读取一张图片  
	Mat src = imread("321.jpg");
	//显示图像
	imshow("原图", src);
	printf("按下键盘退出\n");
	//等待键盘任意
	waitKey(0);
}

运行效果



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页