1、官网下载
访问网站:https://visualstudio.microsoft.com/zh-hans/downloads/?rr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DgQI79WFRhodN-7896MSdpsvkTL7D0LAblcqkBRlgMo72RQLvSx_DfKI7c3HkFqhAXYA6RqPZqw-ZEBKal4a4n_%26wd%3D%26eqid%3Db76d5d6b00386b00000000035d35d99e
2、点击下载community版本
正常安装后,进入如下页面
主要选这三个,其余为可选项,可选可不选
最终点击安装。
这个根据个人电脑的性能不同可以消耗的时间也不同,我的电脑大概需要3个小时,在安装的过程中是需要全程联网的,安装结束后,会提示重启电脑,然后我们点击“立刻重启”。
所需空间也可改成C以外的空间,但仍需要约15GC盘空间,要注意清理。
先在你想建的地方建一个openCV文件夹。
里面再建一个build文件夹,用来放置合成的工程。
opencv跟opencv_contrib两个文件夹先不管
1、opencv下载
·官网
官网地址:https://opencv.org/
opencv是开源软件,下载下来并不需要安装,从官网上下的是一个自解压的文件,双击运行该文件即可。
安装目录下包含如下两个文件夹:
1、sources文件夹是opencv的源码,我们可以使用cmake生成高度还原的opencv开发时的解决方案工程文件;
2、build文件夹是源码针对某个平台编译好的库文件,我们可以直接使用。
·github
github上包含与opencv相关的多个仓库
1、opencv仓库中包含了opencv的源码。相当于上述sources文件夹中的内容,只不过由于版本原因,可能稍有不同;
2、opencv_contrib仓库包含了还未测试稳定的新功能;
下载地址:https://github.com/opencv/opencv/tags
2、opencv_contrib下载
·github
下载地址:https://github.com/opencv/opencv_contrib/releases
同上
下载好后,将解压好的两个文件夹放在openCV里。
官网地址:https://cmake.org/
在出现的“安装选项界面”中,选择“将CMake添加到所有用户的系统PATH变量中”,然后击“Next按钮”进入下一步;
最终点击完成。
详细流程见:https://jingyan.baidu.com/article/da1091fb645ab4027849d6bc.html
然后打开在下载文件bin中的cmake_gui.exe
下图第一个红圈输入Opencv的sources目录(注意:不是opencv_contrib的目录,原来自己opencv的目录);第一个红框输入你自定义的输出目录(就是之前上面我们已经建好的build)。最后点左下角的Configure
第一次编译按configue,设置选项vs2019 win x64,成功后有done的标志。
完成上述后找到OPENCV_EXTRA_MODULES_RATH一项,添加你刚刚解压的opencv_contrib中的modules目录,其中要把OPENCV_ENABLE_NONFREE(下图红框上面一行)选上,最后点击Generate开始编译。记住这是是两个步骤:1、填写目录。2、勾选目录上一行! ==这两项缺一不可以,不然后面调试的时候,会出现许多错误导致配置失败!
注意路径不要复制,需要通过cmake来选择路径!
完成后左下角显示Configuring done。
然后多点几次configure,直到没有红色出现,就说明没有新的变化可以用于更改。
可以看到之后的confugure都没有变红,再点击Generate。
完成后左下角显示Configuring done,Generating done。
完成之后如果在你的输出文件夹中找到OpenCV.sln文件,即表明编译成功完成。
1、使用VS2017打开刚刚的“OpenCV.sln”文件
2、点击“生成—>重新生成解决方案”,这得等一段时间 顺利完成后的图片如下
注意你选择的是debug还是release,这就是debug版与release版的区别。bebug版有检测数据是否溢出的功能,release相对反应速度快。
3、解决方案资源管理器—>CMakeTargets—>ALL_BUILD—>生成
4、生成Intall安装文件
“解决方案资源管理器—>CMakeTargets—>INSTALL—>仅用于项目—>仅生成INSTALL(B)”
记得换成debug版本也弄一下
5、最后到自定义的文件夹确认一下,找到install文件夹,进去查看里面的内容(如下图,注:对于后边配置环境,install文件夹作用就像配置opencv4.0时的build文件夹一样):
1、打开VS2017新建一个空项目
2、换成Debug 跟 x64
3、然后找到属性管理器 ,如下图所示:
先将其设为debug模式
需要设置三个方面,如下:
1、包含目录
D:\openCV-4.4.0\build\install\include\opencv2
D:\openCV-4.4.0\build\install\include
D:\openCV-4.4.0\build\install\x64\vc16\lib
D:\openCV-4.4.0\build\lib\Debug
D:\openCV-4.4.0\build\lib\Release
3、链接器
这里要添加依赖项:
就是将这个目录下所有的lib文件名全部粘进去。
应该每个版本的依赖项不一样。
获取依赖项的方法:
1、cmd
win+r调出“运行”窗口并输出cmd
输入:cd /d D:\openCV-4.4.0\build\install\x64\vc16\lib 回车 (填自己的路径)
输入:dir /b *.lib *>0.txt 回车
这时打开你对应路径的目录,多了一个0.txt文件,里面存了你这个文件夹里所有链接库名字。
注意:记得把0.txt删掉否则对后面有影响,而且0.txt文件里多了0.txt、OpenCVConfig.cmake、OpenCVConfig-version.cmake、OpenCVModules.cmake、OpenCVModules-debug.cmake,复制的时候记得删掉这些多余的内容。
2、python
脚本:
# ‐*‐ coding: utf‐8 ‐*‐
#!/usr/bin/env python
# ‐*‐ coding:UTF‐8 ‐*‐
# 2020/1/10 修改为通用尾缀可用脚本
import os
def find_lib_path(folder_path):
file_name_list = os.listdir(folder_path)
file_list = []
for ele in file_name_list:
print(ele, "\n")
if (ele.endswith('.lib')):
file_list.append(ele)
return file_list
def write_to_txt_file(txt_path, file_name_list):
f = txt_path
with open(f, "a") as file: #只需要将之前的”w"改为“a"即可,代表追加内容
for file_name in file_name_list:
file.write(file_name+"\n")
if __name__ == "__main__":
Img_dir=r'D:\opencv\build\install\x64\vc16\lib' // lib 文件所在的目录
# random_rename_imgs(Img_dir, +1)
file_name_list = find_lib_path(Img_dir)
txt_file_path = r'D:\opencv\result.txt' // 最终结果输出的目录
write_to_txt_file(txt_file_path, file_name_list)
下载张图片并存到桌面目录下picture.jpg
#include
using namespace cv;
int main()
{
Mat image = imread("D:/Users/samsung/Desktop/picture.jpg", IMREAD_GRAYSCALE);
if (image.empty()) {
printf("Open Error\n");
return -11;
}
namedWindow("image", WINDOW_AUTOSIZE);
imshow("image", image);
waitKey(0);
return 0;
}
如果选择Release版本和Debug版本均能出现猫的图片窗口,则说明上面的配置成功
文章参考:
特别感谢:
https://blog.csdn.net/chenhanxuan1999/article/details/100811034#1.%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6
https://blog.csdn.net/CSDNjpl/article/details/98614675?utm_medium=distribute.pc_relevant.none-task-blog-title-7&spm=1001.2101.3001.4242
https://www.cnblogs.com/hsjj/p/VisualStudio.html