ubuntu环境通过CMake安装OpenCV

这篇具有很好参考价值的文章主要介绍了ubuntu环境通过CMake安装OpenCV。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:检查CMake是否安装成功

wcx@wcx:~$ cmake -version
cmake version 3.16.3

2:检查pkg-config是否安装成功

wcx@wcx:~$ pkg-config --version
0.29.1

3:下载OpenCV版本
官网:https://github.com/opencv
从第 3 版开始,OpenCV 已经分成了两个主要部分。
第一部分是包含了 成熟算法的 OpenCV 主源码库,https://github.com/opencv/opencv ,OpenCV 的核心函数,也就是之前下载的内容。
第二部分是独立的代码库contrib,https://github.com/opencv/opencv_contrib,它包含了 最近加入 OpenCV 的计算机视觉算法,其中包含一些基 于特定许可协议、需要付费才能使用的算法,但如果要使用最先进的算法,就很可能需要这个额外的模块。

默认下载在Downloads文件下,然后将opencv_contrib解压到opencv目录下

若安装opencv_contrib,在配置cmake时给OPENCV_EXTRA_MODULES_PATH赋值,Path后是你的modules的目录

cmake -D OPENCV_EXTRA_MODULES_PATH=~/Software/opencv-3.4.5/opencv_contrib-3.4.5/modules ..

Mac 系统则可以使用 Homebrew 管理工具。安装这个工具后,只需要输入 brew install opencv3 --with-contrib 即可完 成整个 OpenCV 安装过程(输入 brew info opencv3 可查看选项)

4:用root权限CMake编译安装

注意:CMake 需要配置 必须要配置OPENCV_GENERATE_PKGCONFIG=ON 才会生成 opencv4.pc
如果不配置OPENCV_GENERATE_PKGCONFIG=ON 不会生成opencv4.pc
回报如下错:

wcx@wcx:~$ pkg-config --modversion opencv
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

wcx@wcx:~$ pkg-config --modversion opencv4
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv4.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv4' found

开始编译

wcx@wcx:~/Downloads$ ls
opencv-4.8.0  opencv-4.8.0.zip
wcx@wcx:~/Downloads$ cd opencv-4.8.0
wcx@wcx:~/Downloads/opencv-4.8.0$ sudo su

1)更新apt-get
root@wcx:/home/wcx/Downloads/opencv-4.8.0# sudo apt-get update
命中:1 http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal InRelease
获取:2 http://packages.microsoft.com/repos/code stable InRelease [3,589 B]   
root@wcx:/home/wcx/Downloads/opencv-4.8.0# sudo apt-get install cmake
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
cmake 已经是最新版 (3.16.3-1ubuntu1.20.04.1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 79 个软件包未被升级。

开始CMake
root@wcx:/home/wcx/Downloads/opencv-4.8.0# mkdir build
root@wcx:/home/wcx/Downloads/opencv-4.8.0# cd build/
root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# cmake ..
-- 'Release' build type is used by default. Use CMAKE_BUILD_TYPE to specify build type (Release or Debug)
-- The CXX compiler identification is GNU 9.4.0
-- The C compiler identification is GNU 9.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wcx/Downloads/opencv-4.8.0/build

2)配置CMake 必须要配置OPENCV_GENERATE_PKGCONFIG=ON 默认是OFF 默认不生成 
root@:/home/wcx/Downloads/opencv-4.8.0/build#   cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON  -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF  -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
-- ocv_init_download: OpenCV source tree is not fetched as git repository. 3rdparty resources will be downloaded from github.com by default.
-- Detected processor: x86_64
Python 2.7.18
-- Looking for ccache - not found
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found suitable version "1.2.11", minimum required··
-- 
--   Install to:                    /usr/local
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wcx/Downloads/opencv-4.8.0/build


3) 开始编译 用-j4快
root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# sudo make -j4
Scanning dependencies of target gen-pkgconfig
[  0%] Built target opencv_highgui_plugins
[  0%] Generate opencv4.pc
[  0%] Built target opencv_dnn_plugins
[  0%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/jsimd.dir/src/jsimd_none.c.o
[  0%] Built target opencv_videoio_plugins
[  0%] Building C object 3rdparty/openjpeg/openjp2/CMakeFiles/libopenjp2.dir/thread.c.o
[  0%] Built target gen-pkgconfig
[  0%] Building C object 3rdparty/ittnotify/CMakeFiles/ittnotify.dir/src/ittnotify/ittnotify_static.c.o
[  0%] Building C object 3rdparty/ippiw/CMakeFiles/ippiw.dir/src/iw_core.c.o
[  0%] Built target jsimd
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidcore_func.sse4_1.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidimgproc_func.avx2.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidcore_func.avx2.cpp.o
[100%] Linking CXX shared library ../../lib/libopencv_gapi.so
[100%] Built target opencv_gapi


4) 保险起见查看libopencv_core.so是否生成
wcx@wcx:/usr/local/lib$ sudo find / -name "libopencv_core*.so"
[sudo] password for wcx: 
/home/wcx/Downloads/opencv-4.8.0/build/lib/libopencv_core.so

5) 安装
root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# sudo make install
[  0%] Built target opencv_dnn_plugins
[  0%] Built target opencv_highgui_plugins
[  0%] Built target jsimd
[  1%] Built target libopenjp2
[  1%] Built target opencv_videoio_plugins
[  1%] Built target ittnotify
[  3%] Built target ippiw
[  9%] Built target opencv_core
[ 15%] Built target opencv_imgproc
[ 18%] Built target libjpeg-turbo
[ 20%] Built target libtiff
[ 27%] Built target libwebp
[ 28%] Built target libpng
[ 34%] Built target IlmImf
[ 35%] Built target opencv_imgcodecs
[ 36%] Built target opencv_videoio
[ 36%] Built target opencv_highgui
[ 37%] Built target opencv_ts
[ 39%] Built target opencv_perf_core
[ 42%] Built target opencv_test_core
[ 42%] Built target opencv_flann
[ 42%] Built target opencv_test_flann
[ 45%] Built target opencv_perf_imgproc
[ 49%] Built target opencv_test_imgproc
[ 50%] Built target opencv_ml
[ 50%] Built target opencv_test_ml
[ 51%] Built target opencv_photo
[ 51%] Built target opencv_perf_photo
[ 52%] Built target opencv_test_photo
[ 55%] Built target libprotobuf
[ 64%] Built target opencv_dnn
[ 65%] Built target opencv_perf_dnn
[ 66%] Built target opencv_test_dnn
[ 68%] Built target opencv_features2d
[ 68%] Built target opencv_perf_features2d
[ 69%] Built target opencv_test_features2d
[ 69%] Built target opencv_perf_imgcodecs
[ 69%] Built target opencv_test_imgcodecs
[ 69%] Built target opencv_perf_videoio
[ 70%] Built target opencv_test_videoio
[ 73%] Built target opencv_calib3d
[ 73%] Built target opencv_perf_calib3d
[ 75%] Built target opencv_test_calib3d
[ 76%] Built target opencv_test_highgui
[ 77%] Built target quirc
[ 79%] Built target opencv_objdetect
[ 79%] Built target opencv_perf_objdetect
[ 80%] Built target opencv_test_objdetect
[ 81%] Built target opencv_stitching
[ 82%] Built target opencv_perf_stitching
[ 82%] Built target opencv_test_stitching
[ 83%] Built target opencv_video
[ 84%] Built target opencv_perf_video
[ 85%] Built target opencv_test_video
[ 86%] Built target ade
[ 94%] Built target opencv_gapi
[ 95%] Built target opencv_perf_gapi
[100%] Built target opencv_test_gapi
[100%] Built target opencv_annotation
[100%] Built target opencv_visualisation
[100%] Built target opencv_interactive-calibration
[100%] Built target opencv_version
[100%] Built target opencv_model_diagnostics

5:检查是否安装成功

root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# opencv_version
4.8.0

6:配置环境变量
opencv是一个第三方的库,我们要引用它需要对系统的环境变量进行配置,打开配置文件
如果这是我们第一次安装opencv,这个文件可能是个空文件,这里的/usr/local/lib就是我们安装opencv时安装的那些库的目录

root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# sudo gedit /etc/ld.so.conf.d/opencv.conf
输入
/usr/local/lib
更新
root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# sudo ldconfig

配置pkg-config
root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# sudo gedit /etc/bash.bashrc

输入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

todo image
更新
root@wcx:/home/wcx/Downloads/opencv-4.8.0/build# source /etc/bash.bashrc

/usr/lib/x86_64-linux-gnu/openjpeg-2.3/openjpegtargets.cmake

7:检查环境变量是否配置成功文章来源地址https://www.toymoban.com/news/detail-829849.html

检查opencv4.pc是否生成
wcx@wcx:~$ sudo find / -name opencv4.pc 2>/dev/null
/usr/local/lib/pkgconfig/opencv4.pc
/home/wcx/Downloads/opencv-4.8.0/build/unix-install/opencv4.pc

如果/usr/local/lib/pkgconfig/下没有 需要把/home/wcx/Downloads/opencv-4.8.0/build/unix-install/拷贝过来

wcx@wcx:~$ pkg-config --modversion opencv4
4.8.0

彻底安装成功

到了这里,关于ubuntu环境通过CMake安装OpenCV的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包