提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
【Opencv学习记录】Vs2019+Opencv4.5.5扩展库源码编译
- 前言
- 一、事先准备
- 二、Cmake生成编译工程
-
- 1.解压文件
- 2.新建存放工程文件夹
- 3.cmake配置步骤
- 三、VS编译生成库文件
- 四、新建工程测试
- 五、总结
- 六、待完善的内容部分
前言 Opencv学习记录,学习如何通过cmake软件编译Opencv4.5.5源码,分别生成X86版本和X64版本的Opencv。此前也是查找了好多资料,各种版本都有,做此记录以备后面还要用到,忘记是如何操作;
提示:以下是本篇文章正文内容
一、事先准备 以下是进行编译源码所需下载的软件/文件的下载地址。
如果GitHub上不去,可以试试国内的Gitee链接
①、Opencv4.5.5。(GitHub链接-点击下载) / (Gitee链接-点击下载)
②、Opencv4.5.5 contrib扩展库。(GitHub链接-点击下载) / (Gitee链接-点击下载)
③、Opencv第三方库。(GitHub链接-点击下载) / (Gitee链接-点击下载)
④、Cmake软件。(点击下载) / (下载链接2)
如下图所示:
文章图片
二、Cmake生成编译工程 1.解压文件 ①、将以上下载的文件,解压到同同一级文件夹目录中,注意存放的文件夹名不出现中文。如图:
文章图片
2.新建存放工程文件夹 ①、新建存放opencv源码工程的文件夹opencv_build_x86/x64,如图:
文章图片
3.cmake配置步骤 ①、启动cmake。选择opencv源码路径和生成的工程路径,然后点击“configure”按钮。如图:
文章图片
②、(点击上述按钮后会弹出个小窗口)选择所需要的平台,并点击“Finish”按钮。这里选择的是Vs2019以及win32,即x86版本。(其中不选默认的是x64版本)。如图:
文章图片
然后静待完成
文章图片
③、完成后会看到一片红,但没有关系,不要慌。打开opencv源码文件夹中的“.cahe"目录,里面是自动下载的第三方库,不出意外都是下载失败的(里面的文件大小都为0KB,即下载失败)。可以从上面提供的”opencv第三方库的链接中下载,然后手动改替换。如图:
文章图片
手动替换后如图:
文章图片
④、勾选相应的选项。编译扩展库需要勾选“NONFREE”,并添加扩展库目录中的“modules”目录到OPENCV_MODULES"中。如图:
文章图片
⑤、再次点击”Configure“。(可以 再看看”.cache"目录还有没有新增的目录,再依照上一步骤操作即可)。如图:
文章图片
完成后可能出现的
文章图片
⑥、勾选“BULID_WORLD"选项(可使得最后只生成一个lib和dll文件,而非每个模块都产生一个lib和dll文件。)再次点击”configure“。如图:
文章图片
文章图片
⑦、当一片红都消失时,即表示configure完成。如图:
文章图片
⑧、点击”Generate“,生成源码编译工程。如图:
文章图片
文章图片
⑨、点击”open_Project",便可以打开工程。如图:
文章图片
三、VS编译生成库文件 ①、打开opencv.sln(若在上面已经点击“opencv_Project"按键,则可忽略此步骤)。如图:
文章图片
②、批生成工程。右键解决方案,点击”批生成“。如图:
文章图片
③、在批生成的界面中,勾选”ALL_BUILD"的debug和release版本,以及”INSTALL“的debug和release版本,点击”生成“。等待源码工程编译完成即可。如图:
文章图片
文章图片
④、生成完成后。即可在opencv.sln同级目录下的install文件夹即为编译生成的inlude、lib、dll的文件夹。如图:
文章图片
四、新建工程测试 ①、将intall内所需的文件复制出来,组成opencv4.5.5的库目录。如图:
文章图片
②、编写测试工程进行测试。如图:
文章图片
五、总结 以上记录的就是Cmake编译 Opencv4.5.5源码,生成X86和X64版本的过程; 六、待完善的内容部分 当前只是简单的记录,其中在编译 过程中出现了编译错误,以及Cmake的错误内容都未进行了解,后面有时间了解再进行记录。
【opencv学习记录|【Opencv学习记录】Vs2019+Opencv4.5.5扩展库源码编译】
文章图片
推荐阅读
- C++|OpenCV在visual studio 2022中的下载与配置
- OpenCV|OpenCV学习笔记(一)Opencv4.5.5 VS2019永久开发环境配置
- OpenCV|Visual Studio 2022配置OpenCV455+CMake(Win11)
- Deep|线性分类器学习笔记
- 机器学习算法|基于Open-cv 的停车场停车位识别个人笔记附所有代码(下)
- 学习笔记|OpenCV(五)停车场的车位识别
- 神经网络|为什么要进行图学习(谈一谈逆势而上的图神经网络)
- 科技|网络安全工程师教你(Kali Linux之Metasploit渗透测试基础(三)(1))
- 科技|白帽子黑客与网络安全工程师教你(使用Kali Linux远程登陆FTP服务器基础篇)