近期换了一台新电脑,本着一切都用“次新”的原则,换上了Ubuntu20.04(双系统),于是各种装软件、插件。顺便就重编了一下OpenCV,正好填了以前的坑~说实话再Ubuntu里面编译OpenCV还是比较简单的,主要还是网络问题,如果网络质量好,基本上直接一次编译就搞定。下面是我编译的操作步骤(不太会排版,将就看吧)
1.解压opencv-4.1.2和opencv_contrib-4.1.2
unzip opencv-4.1.2
unzip opencv_contrib-4.1.2
2.创建编译目录
cd opencv-4.1.2
mkdir build
cd build
3.安装cmake-gui
sudo apt-get install cmake-gui/sudo apt-get install cmake-qt-gui
4.在新建的build目录内执行(结果见下图)
camke-gui ../
5.第一次configure
弹出界面后点击finish(ubuntu桌面版的使用默认的,嵌入式的需要选择其他选项)
6.中间红色部分为可配置部分,将以下选项勾选或填写完整
a.勾选BUILD_opencv_world(将所有模块编译成一个库,否则每个模块都有一个库,会很麻烦)
b.勾选OPENCV_ENABLE_NONFREE(将需要版权的部分也编译进去,如果不使能SURF和SIFT等不能用)
c.填写OPENCV_EXTRA_MODULES_PATH(设置contril模块的路径,注意需要设置为<opencv_contrib_dir>/modules,而不是<opencv_contrib_dir>)
d.勾选OPENCV_GENERATE_PKGCONFIG(使用pkg-config管理opencv包)
7.再次点击configure后再点击generate,等待configuring done和generating done
当网络条件不好的时候可能会有一些包下载会失败,这个没有关系,度娘上有很多人已经将包提供出来,放到源码对应目录即可
8.关闭cmake-gui,回到build目录执行make,等待编译完成(将会花费比较多的时间)
当出现过类似fatal error: boostdesc_bgm.i: No such file or directory这样的问题,可以百度搜解决方案,将缺少的文件拷贝到对应目录即可。
还有一些test编译的错误,可以重新运行cmake-gui ../,之后将取消BUILD_TEST的勾选,点击configure和generate,然后重新编译
最终编译完成后执行sudo make install,然后就可以愉快的使用OpenCV玩耍啦!