Visual Studio 2019下编译OpenCV 4.7 与OpenCV 4.7 contrib

一、环境

使用的环境是Win10,Visual Studio 2019,Cmake3.28,cdua 11.7,cudnn 8.5,如果只是在CPU环境下使用,则不用安装CUDA。要使用GPU处理,安装好CUDA之后,要测试安装的CUDA是否能用。不能正常使用的话,添加一下系统环境变量。

二、源码

1.opencv的源码

打开opencv 官网,选择要下载的源码。

2.opencv_contrib

打开 opencv_contrib 的git,下载源码。

三、创建工程

1、选择源码与工程路径

打开cmake,选择下载好的源码,之后选择工程编译路径,如下图:

2.选择编译器

选择源码与工程路径之后点 confingure ,跳出以下界面,选择自己安装的vs 版本:

3.添加 contrib源码

在搜索栏输入extra,然后指定 contrib源码的路径:

4. 创建lib文件方式

查找world这个选项,如果选择则只生成两个lib,如果不选择,则选择一大堆lib:

5.选择CUDA

如果要使用GPU进行图像处理,则要选择CUDA选项,如果是cpu,就不用选择,选择GPU选择时,CUDA安装不正确,会报错:

6.是否编译python环境

选择是否编译成python-opencv,这里不建议选择,如果想在python里面使用opencv,直接pip install opencv-python就可以了,不用这么麻烦:

6.生成工程

选择所有配置项之后,依次点击下以下三个按键:

7.打开工程

可以在build目录找到生成的vs工程,使用vs2019打开工程:

四、生成lib

1.选择生成库

选择生成debug或者release的:

2.生成lib

生成lib和dll与exe文件,这步比较慢:

3.INSTALL

把所有用到lib和dll,exe整合一个目录:

运行之后,在build目录下会生成一个install目录,到这里所有编译都完成了,把这个目录引入到工程目录就可以用了:

五、错误

1.cv::xfeatures2d::VGG::getDefaultName(void)const

在编译中,报下面的错误:

严LNK2001 无法解析的外部符号 "public: virtual class

std::basic_string<char,struct std::char_traits,class

std::allocator > __cdecl

cv::xfeatures2d::VGG::getDefaultName(void)const "

(?getDefaultName@VGG@xfeatures2d@cv@@UEBA?AV? b a s i c s t r i n g @ D U ? basic_string@DU? basicstring@DU?char_traits@D@std@@V?$allocator@D@2@@std@@XZ) opencv_world C:\LIB\opencv_4_7\build\modules\world\fast.cpp.obj 1

下载

patch__.zip

放到opencv 源码目录,如果已经存这个目录,覆盖目录,然后清空工程,从新创建工程,再从头来一次就可以了。

相关推荐
智驱力人工智能2 小时前
实线变道检测 高架道路安全治理的工程化实践 隧道压实线监测方案 城市快速路压实线实时预警 压实线与车牌识别联动方案
人工智能·opencv·算法·安全·yolo·边缘计算
光羽隹衡2 小时前
计算机视觉--Opencv(模板匹配)
人工智能·opencv·计算机视觉
无垠的广袤3 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:人脸检测
linux·人工智能·python·opencv·开发板
JERRY. LIU4 小时前
realsense识别目标距离的传感器及其工作原理
python·opencv·目标检测
Pyeako4 小时前
opencv计算机视觉--答题卡识别案例
人工智能·opencv·计算机视觉·轮廓检测·透视变换·二值化·canny边缘检测
无垠的广袤4 小时前
【Arduino UNO Q】 边缘 AI 视觉部署方案:二维码识别
linux·人工智能·python·opencv
子夜江寒5 小时前
基于 OpenCV 的身份证号码识别系统详解
python·opencv·计算机视觉
Dreaming_of_you1 天前
pytorch/cv2/pil/torchvision处理图像缩小的最佳方案
人工智能·pytorch·python·opencv
棒棒的皮皮1 天前
【OpenCV】Python图像处理矩特征之矩的计算/计算轮廓的面积
图像处理·python·opencv·计算机视觉
qwy7152292581631 天前
7-获取局部图像
人工智能·opencv·计算机视觉