杭州网站建设第一品牌,网络商城是什么意思,天津建设工程信息网如何投标报名,网站 推广商系统 设计文章目录 下载OpenCV-4.5.3源码下载opencv_contrib-4.5.3源码打开cmake-gui选择生成器 通过 Visual Studio 2019 打开构建好的.sln工程文件执行编译操作执行安装操作 下载OpenCV-4.5.3源码
可通过github上下载#xff0c;网上很多#xff0c;找到tag标签#xff0c;选择 Op… 文章目录 下载OpenCV-4.5.3源码下载opencv_contrib-4.5.3源码打开cmake-gui选择生成器 通过 Visual Studio 2019 打开构建好的.sln工程文件执行编译操作执行安装操作 下载OpenCV-4.5.3源码
可通过github上下载网上很多找到tag标签选择 OpenCV-4.5.3 进去后找到 sourceCode.zip。然后点击下载。 如下 下载地址 进来之后点击 下图中的 tags 标签 也可以找台网络好的Linux云机器上直接输入 wget https://github.com/opencv/opencv/archive/refs/tags/4.5.3.zip 进行下载
下载opencv_contrib-4.5.3源码
下载地址
也是仿照上面的方式进行下载由于opencv_contrib-4.5.3是opencv的一个模块因此编译OpenCV时需要这个。
源码准备好的截图如下 由于github时常打不开导致下载不了上方的源码。这里提供了网盘下载的方式 链接https://pan.baidu.com/s/1nTKa72azGfCXJynqwhEeFw 提取码14bz 下载完毕后解压下就行了。
打开cmake-gui 之前已经安装过了。没有安装过可以看下这篇cmake安装
选择生成器 ps:上图说的vcproj纠正为是vcxproj。
配置好后点击上图的Finish。 然后就自动开始解析CmakeList.txt文件中的配置包括自动从当前电脑系统环境下查找CmakeList.txt文件中各种变量的符合要求的值已经解析CmakeList.txt中的各个源文件是否存在。自动识别已经从第三方那里下载所需要的库。配置解析完毕后会在中间 Name- Value 那片显示区域会把解析后CmakeList.txt文件中各种变量的名称已经从当前系统环境变量中查找的值及当前变量的状态都显示出来。 现在的开源项目基本上都是用cmake来进行管理。cmake就是一个项目管理工具。根据CmakeList.txt中的编写的规则来组织项目的构建步骤。一个大的开源项目下会有多个模块每个模块下又有各自的CmakeList.txt文件。但是开源项目的根目录只有一个CmakeList.txt。 根目录下的CmakeList.txt文件内会引入各个模块下的CmakeList.txt文件。这就有点类似于java中的 maven的作用。 这里我们把上图里底部打印出的内容粘出来看看。 Selecting Windows SDK version 10.0.22000.0 to target Windows #选择本机上适合的Windows SDK 10.0.22621. Detected processor: AMD64 #检测到本地的处理器架构 Found PythonInterp: D:/software/python/python.exe (found suitable version “3.8.6”, minimum required is “2.7”) #检测到本机安装的python是3.8.6.而最小要求是2.7满足要求。如果需要将OpenCV用于python。这里需要把python加入系统环境变量Path中这里才能检测到。 下面的提示有个zip没有从网络上下载下来。
IPPICV: Download: ippicv_2020_win_intel64_20191018_general.zip
Try 1 failedCouldnt download files from the Internet. #不能够从互联网上下载此文件Please check the Internet access on this host.
CMake Warning at cmake/OpenCVDownload.cmake:202 (message):IPPICV: Download failed: 6;Couldnt resolve host nameFor details please refer to the download log file:D:/vs_project/OpenCV/bulid_x64/CMakeDownloadLog.txt #查看这个日志文件手动下载此文件
OpenCV Python: during development append to PYTHONPATH: D:/vs_project/OpenCV/bulid_x64/python_loader
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
FFMPEG: Download: opencv_videoio_ffmpeg.dll
Try 1 failed
.......................................
FFMPEG: Download: opencv_videoio_ffmpeg_64.dll
Try 1 failed
D:/vs_project/OpenCV/bulid_x64/CMakeDownloadLog.txt 中的内容 根据日志文件可知有三个文件下载失败
ippicv_2020_win_intel64_20191018_general.zipopencv_videoio_ffmpeg.dllopencv_videoio_ffmpeg_64.dll 根据日志文件里提示ippicv_2020_win_intel64_20191018_general.zip是从https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip路径下载文件到D:/vs_project/OpenCV/opencv-4.5.3/.cache/ippicv/879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip。 下载通过手动方式下载。本人是从华为云上通过wget方式下载的。
wget https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip然后手动添加后uuid前缀放到Windows的指定目录上。 另外两个https://raw.githubusercontent.com/opencv/opencv_3rdparty/213fcd5d4897319a83207406036c4a5957fba010/ffmpeg/opencv_videoio_ffmpeg.dll 到 D:/vs_project/OpenCV/opencv-4.5.3/.cache/ffmpeg/bab661341c30862fa88627130219c0a5-opencv_videoio_ffmpeg.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/213fcd5d4897319a83207406036c4a5957fba010/ffmpeg/opencv_videoio_ffmpeg_64.dll 到 D:/vs_project/OpenCV/opencv-4.5.3/.cache/ffmpeg/ac99f9767a83103c31709628af685924-opencv_videoio_ffmpeg_64.dll 也是按照上述方式下载然后放到指定目录下。 下载比较慢…。待其下载完毕后放到指定目录下就行。 其实上面的这几个文件不下载也不影响后续的操作。只是将来的exe,dll或者lib文件不包含这些功能罢了。 接下来说说红框里的设置 接下来进入到D:\vs_project\OpenCV\bulid_x64目录下就可以看到通过cmake构建好的项目工程。里面可以看到.sln解决方案文件和大量的.vcxproj工程文件以及各个模块下也有.vcxproj文件。
通过 Visual Studio 2019 打开构建好的.sln工程文件
这样通过cmake就把Visual Studio 2019 上的解决方案工程构建好了。 双击OpenCV.sln 会自动用Visual Studio 2019 打开。
执行编译操作
执行ALL_BUILD命令底层会调用VS MSBuild命令对.vcxproj文件内容进行读取通过gl.exe执行编译及链接的整个过程release /x64 注意虽然通过cmake新构建好的项目在D:\vs_project\OpenCV\bulid_x64目录下但是OpenCV的源码并没有在bulid_x64目录下。所以是执行ALL_BUILD(对源码的实际编译时)原来的源码位置D:\vs_project\OpenCV\opencv-4.5.3及其下的CMakeLists.txt文件还是需要被引用使用的。否则在ALL_BUILD会报错。 可以看到有的工程最后编译完后生成了lib库有的生成了dll库有的生成了exe文件。 它们都被放到了D:\vs_project\OpenCV\bulid_x64\bin\Release目录下了。
执行安装操作
接下来执行 INSTALL: 执行完毕后会在D:\vs_project\OpenCV\bulid_x64目录下创建一个install目录 有时候生成的dll和lib文件有多个有时候只有几个。和有没有勾选BUILD_opencv_world有关没有勾选这一项的话会生成很多dll及lib文件。勾选的话可能只生成一两个库文件。其中包括opencv_world453.dll。这个dll库包括了其他的dll库。 至此构建及编译结束 个人总结开源项目发布时是通过CMake来管理项目结构的。但是通过cmake项目使用指定生成器 构建出的.sln工程和实际使用VS创建的.sln工程还不一样。我们进行二次开发的话还是要在CMake来管理项目下开发。而这种构建出的.sln工程只是适用于来生成编译后的结果及发布结果。