OpenCV教程之4.1.0版与VisualStudio2015环境搭建☀️《❤️记得收藏❤️》
目录
🏳️🌈开讲啦!!!!🏳️🌈
🗾1、下载所需软件
🏔️2、安装软件
⛰️3、新建工程
🌋4、工程环境配置
🗻5、一些错误
🏳️🌈关注苏州程序大白,持续更新技术分享。谢谢大家支持🏳️🌈
目录
🏳️🌈开讲啦!!!!🏳️🌈
🗾1、下载所需软件
经过我的实验,下载visual studio2017和visual studio2019都编译失败,如果你们能够成功可以给我留言。这里我选择了visual studio2015版本,并且编译成功。以后再尝试使用新软件吧,也期待使用QT编译成功,走着瞧吧!
附上OpenCV各种版本库的下载地址:https://opencv.org/releases/
可以下载一些历史版本,此处我选择的是OpenCV4.1.0,是一个比较新的版本,目前是最新的。
🏔️2、安装软件
OpenCV只需要双击.exe文件解压到文件夹即可,放在一个稳妥的路径里,然后把(目录自己决定)
F:\App\Qt\OpenCV\opencv410\build\x64\vc14\bin
F:\App\Qt\OpenCV\opencv410\build\x64\vc14\lib
这两个路径加入电脑的环境变量,你的文件夹路径和我的不一定一样,请酌情添加。
我也是服了:注意vc14代表vs2015.vc15代表vs2017,大家不能统一下吗?望文生义多容易暴走啊!!!
通过以上操作,我们就完成了环境变量的配置。
OpenCV的安装基本完成。
下面配置visual studio2015
⛰️3、新建工程
注意是控制台工程
截图所示就是建立好的工程
建立先写一个hello, world!程序保证C++环境可以正常使用。
完成如下代码:
#include<cstdlib> #include<iostream> using namespace std; #include<opencv2/opencv.hpp> //#include<opencv2/core/core.hpp> //#include<opencv2/highgui/highgui.hpp> //#include<opencv2/dnn/dnn.hpp> using namespace cv; int main() { cv::String png = "F:/Pictures/tyb/home.jpg"; cout << "png:" << png << endl; Mat picture = imread(png); if(picture.empty()){ cout << picture << endl; std::cout << "图片为空" << "\n"; cout << "picture channels:" << picture.channels() << endl; cout << "picture size:" << picture.size() << endl; return -1; }else { namedWindow("test"); imshow("test", picture); waitKey(1000); } cout << "dnn:" << dnn::DNN_TARGET_CPU<<endl; //system("pause"); return 0; }
开始会出现红线,因为还没有配置OpenCV环境,会有错误。
🌋4、工程环境配置
点击“视图”–》“其他窗口”–》“属性管理器”)
右击属性管理器窗口的“解决方案(我这里是ConsoleApplication1)”,出现如下选项
选择“属性”,打开属性管理器
注意配置两个模式:Release和Debug模式,配置略有异同,分为三步走:
(1)全局配置
在VC++目录下:
包含目录加入:
F:\App\Qt\OpenCV\opencv410\build\include\opencv2;
F:\App\Qt\OpenCV\opencv410\build\include;
库目录加入:
F:\App\Qt\OpenCV\opencv410\build\x64\vc14\lib;
当然可以选中右侧三角符号打开对话框,进一步在资源管理器中选取路径。
还有要把环境配置为X64机器,和X86有所区别,具体操作为:
“链接器”–》“高级”–》“目标计算机”–》“X64”
(2)Debug模式
添加静态库:opencv_world410d.lib;
详见:
注意对话框左上角选择Debug,平台选择X64,在附加依赖项处加入opencv_world410d.lib;注意中间有个d,代表debug,否则为release
(3)Release模式
同样的:
OK,大功告成,“应用”–》“确认”!
🗻5、一些错误
(1)找不到动态库
①检查你的系统变量是否设置正确:参考D:\Opencv\opencv\build\x64\vc14\bin 和 D:\Opencv\opencv\build\x64\vc14\lib
②链接库配置,在Debug 模式下是带后缀d的lib文件,而在release 则是不带d的lib文件。在链接器–>输入–> 附加依赖项中添加:opencv_world410.lib;opencv_world410d.lib
③以上配置没有问题将目录:D:\Opencv\opencv\build\x64\vc14\bin下的opencv_world410.dll 和 opencv_world410d.dll文件拷贝到C:\window\System32和C:\Windows\SysWOW64.(我只拷贝到C:\Windows\System32就解决了错误)
(2)读取图片出错
这说明没有成功读取到 图片,所以尺寸输出位0,需要检查以上操作有没有问题。如果前面都没问题,可能是图片路径的错误,Windows下路径不可以使用单右斜线(但是Windows资源管理器默认是单右斜线),可行的方法有这些:
//-- 1 --双右斜线法 //string imgpath = "F:\\images\\tyb\\home.jpg"; //-- 2 --双左斜线法 //string imgpath = "F://images//tyb//home.jpg"; //-- 3 --单左斜线法 //string imgpath = "F:/images/tyb/home.jpg"; //-- 4 --以上三种混合法 //string imgpath = "F:/images\\tyb//home.jpg"; //-- 5 --相对路径法 //string imgpath = "home.jpg"; //-- 6 --命令行参数法 //string imgpath = argv[1];
🏳️🌈关注苏州程序大白,持续更新技术分享。谢谢大家支持🏳️🌈