欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vs2019配置OpenCV4.30(win10)

程序员文章站 2022-05-23 13:25:53
...

vs2019配置OpenCV4.30

新的任务是学习OpenCV,第一步当然是配置环境。社区里虽然有各种教程,但作为小白的我依然遇到了许多问题。决定总结一下, 避免和我一样的小白踩雷。并且也算是最新的一版本的教程。

vs2019

宇宙最强IDE没的说,安装就阔以,此处给出社区版在线安装器vs2019,下载好选择你需要的扩展即可。如果和我一样是c语言的话按下图即可。之后要注册账号那些后续步骤。(后续如果需要新的功能和扩展可在vs的工具选项卡第一个选项获取工具和功能里在选择下载)vs2019配置OpenCV4.30(win10)

OpenCV

大家有各自的OS,相应在OpenCV官网下载就行,这里给出Windows的地址win64建议某雷下载,比较
下载完成是一个自解压文件,找到合适 的地方解压就可以。记住地址!

配置OpenCV的本地环境

首先需要将OpenCV的地址放到path里。在桌面右键计算机选属性。选择左侧的高级系统设置
vs2019配置OpenCV4.30(win10)
选择下面的环境变量
vs2019配置OpenCV4.30(win10)
进来就比较有意思了,有的教程说把路径(之前解压OpenCV的文件bin的位置)加在用户里,有的说加在系统里,反正我都加了,也没啥问题。(建议加在系统变量里)C:\OpenCV\opencv\build\x64\vc15\bin这个路径。举例而已,大家知道是这个文件夹就可以。我是放在c盘了。
vs2019配置OpenCV4.30(win10)
具体操作就是选择PATH然后点编辑,进去之后选择新建,然后复制地址即可。
还有的教程把两个动态链接库dll文件复制到了相应的文件夹,有的教程没放,本着宁可信其有不可信其无的态度,我也放了。操作如下。
vc15-bin文件夹中的opencv_world430.dlll和opencv_world430d.dll文件复制到C:\Windows\SysWOW64
将bin目录的opencv_videoio_ffmpeg430_64l复制到C:\Windows\System32。

vs2019中环境搭建

vs2019配置OpenCV4.30(win10)
在你新建的c控制台项目里,右侧的解决方案管理器中右键你的项目选择项目属性。
vs2019配置OpenCV4.30(win10)
如图选择VC++,我们分别要对include和库进行设置。如图即可。
vs2019配置OpenCV4.30(win10)
vs2019配置OpenCV4.30(win10)
这是库目录需要编辑的。点那个文件夹小图标即可选择相应的文件夹。大家按照图上的我的相对路径选择自己的文件夹即可。
vs2019配置OpenCV4.30(win10)
然后选择链接器下输入选项,附加依赖项中如图添加。
vs2019配置OpenCV4.30(win10)
一定要按图片上的名字写不然会报错,如果你只是复制了你文件的名字是不行的。必须有后缀lib。好多人卡在这了。以上就是全部配置了。
现在大家可以试一试运行demo测试。(可能会碰到预编译的问题,每个人情况不同。百度即可)

#include <iostream>
#include <opencv2/highgui.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>

 
using namespace cv;
using namespace std;
 
int main()
{
	Mat image;
	image = imread("C:\\Users\\Administrator\\Pictures\\25.jpg"); // 选择一张图片
 
	if (image.empty()) // Check for invalid input
	{
		cout << "Could not open or find the image" << std::endl;
		return -1;
	}
 
 
	namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
	imshow("Display window", image); // Show our image inside it.
 
	waitKey(0); // Wait for a keystroke in the window
 
    std::cout << "Hello World!\n"; 
}