首页天道酬勤ubuntu安装python3.6,ubuntu安装opencv教程

ubuntu安装python3.6,ubuntu安装opencv教程

张世龙 05-04 04:21 9次浏览

Ubuntu安装Opencv3及卸载 0. CMakeLists中怎么使用1. 安装准备2.安装3.配置环境4. 检验5. 卸载Opencv
环境:Ubuntu 20.04, Opencv3.4.14

0. CMakeLists中怎么使用

根据官方在/usr/local/share/OpenCVConfig.cmake文件中的说明

在CMakeLists.txt中加入这些即可

find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS}) # Not needed for CMake >= 2.8.11add_executable(可执行文件的名字 xxx.cpp) # 先添加可执行文件target_link_libraries(可执行文件的名字 ${OpenCV_LIBS}) # 再链接到动态库 1. 安装准备

1.1 安装cmake

sudo apt-get install cmake

1.2安装依赖环境

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-devsudo apt-get install libgtk2.0-devsudo apt-get install pkg-config

1.3 下载Opencv源代码
下载地址:https://opencv.org/releases/
这里以3.4.14为例, 选择sources
如果要安装opencv_contrib的话,一并下载,github链接:https://github.com/opencv/opencv_contrib/tree/3.4.14

2.安装

2.1 解压
将下载的压缩包解压到一个地方,这里选择/home,将解压后的文件夹重命名为opencv3
2.2 新建build文件夹
进入到解压的文件夹下,新建一个build文件夹,文件结构如下

mkdir build

2.3 cmake编译
进入build

cd build

CMake configure,设置一些编译选项,可以根据需要调整,比如Release版还是Debug版
不需要编译contrib的话:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

需要编译contrib的话,指定它的代码路径,这里我把它解压缩后的文件放到了我们自己建的opencv3下:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.14/modules .. CMAKE_INSTALL_PREFIX=/usr/local ../opencv-3.4.14

只编译C++模块,禁用java和python的编译,参考https://answers.opencv.org/question/189150/compile-from-source-without-python-2-java-support/

sudo cmake -D CMAKE_BUILD_TYPE=Release -D \OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.14/modules .. -D \BUILD_opencv_java=OFF -D \BUILD_opencv_python=OFF CMAKE_INSTALL_PREFIX=/usr/local ../opencv-3.4.14



进行编译,可以使用sudo make -j8 、sudo make -j4 、sudo make

sudo make -j8


2.4 安装

sudo make install

3.配置环境

用gedit打开/etc/ld.so.conf
在文件中加上一行 /usr/local/lib
其中/user/local是opencv安装路径也就是makefile中指定的安装路径

sudo gedit /etc/ld.so.conf

在末尾加入一行

include /usr/local/lib

修改后保存关闭,加载configure文件

sudo ldconfig

修改bash.bashrc文件

sudo gedit /etc/bash.bashrc

在文件末尾加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH

然后在命令行中输入

source /etc/bash.bashrc 4. 检验

在命令行中输入

pkg-config opencv --modversion

5. 卸载Opencv

首先进入到安装opencv的build目录下,执行卸载命令

sudo make uninstall

然后删除build文件夹

cd .. # 返回上一级文件夹sudo rm -r build

之后需要清空 /usr中有关 opencv的东西(命令如下),但是在你执行上一步 sudo make uninstall 有的已经删除 /usr下相关opencv。这个情况因电脑而异。

sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/xhdhl/opencv* /usr/local/lib/libopencv*

之后回退到home目录下,执行下面命令

chmod a+x /home/***/opencv ### ***表示用户名,注意换成自己的rm -r /home/***/opencv

这样就卸载干净了
输入下面命令检查:

pkg-config opencv --libspkg-config opencv --modversion

PS:编译opencv3.2.0遇到的问题:

Failed to download v3.1.0/protobuf-cpp-3.1.0.tar.gz. Status=7;“Couldn’t connect to server”。参考https://www.cnblogs.com/MyKKBlog/articles/9143753.html
原因是有个文件下载不下来,可以从github上直接下载:https://github.com/protocolbuffers/protobuf/releases/tag/v3.1.0
,之后放到这个路径下/home/qyz/Downloads/opencv3.2.0/opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0
看到.download,需要打开隐藏文件夹:Ctrl+H,把下载的文件放进去就行/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory #include_next <stdlib.h> compilation terminated.
原因:gcc7已经吧stdlib.h纳入了libstdc++以进行更好的优化,C Library的头文件stdlib.h使用 Include_next,而include_next对gcc系统头文件路径很敏感。
解决方法:不把include路径作为系统目录,而是使用标准方式包含include 目录。
在编译opecv-3.2.0时,加入选项:-DENABLE_PRECOMPILED_HEADERS=OFF sudo cmake -D CMAKE_BUILD_TYPE=Release -D \> OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.2.0/modules .. -D \> BUILD_opencv_java=OFF -D \> BUILD_opencv_python=OFF -DENABLE_PRECOMPILED_HEADERS=OFF CMAKE_INSTALL_PREFIX=/usr/local ../opencv-3.2.0
ubuntu离线安装opencv,ubuntu20.04安装opencv