ubuntu系统编译安装OpenCV 4.4并配置C++和Python开发环境

10 篇文章 0 订阅
4 篇文章 1 订阅

内容转载自我的博客

前言

如果你只是想要使用C++或者Python语言来调用OpenCV,而且并不关心OpenCV是否为最新版本,那么请直接按照如下代码:
sudo apt update && sudo apt install libopencv-dev python3-opencv
前者libopencv-dev是用于C++开发的库(已经很老旧了)
后者python3-opencv是用于python3开发的库,你可以在终端输入
/usr/bin/python3 -c "import cv2;print(cv2.__version__)"来验证python3-opencv是否安装成功
/usr/bin/pip3 install opencv-contrib-python==3.4.2.17来安装扩展功能(3.4.2版本以后的预编译库中都不会再加入non-free模块)

1. 下载源码

在官方网站下载最新源代码(截止本文测试时,最新版本为4.4.0),如果需要使用SIFT算法等扩展功能,下载opencv_contrib一起编译:

例如,opencv 4.4源码解压到当前目录下,opencv_contrib 4.4也解压到当前目录下

2. 安装各种依赖

按照如下步骤:

# 安装系统依赖
sudo apt install build-essential cmake git libgtk2.0-dev \
                 pkg-config libavcodec-dev libavformat-dev libswscale-dev \
                 libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
                 libjasper-dev libdc1394-22-dev 
# 添加源以继续安装依赖libjasper
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
# 安装系统依赖
sudo apt install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \
                 libjasper-dev libdc1394-22-dev libsnappy-dev libboost-all-dev \
                 python3-dev python3-numpy ffmpeg cmake-qt-gui libopenblas-dev \
                 tesseract-ocr libtesseract-dev libprotobuf-dev libleveldb-dev \
                 libhdf5-serial-dev protobuf-compiler libatlas-base-dev \
                 libgflags-dev libgoogle-glog-dev liblmdb-dev libfaac-dev \
                 gfortran libgstreamer1.0-dev libatlas-base-dev libxvidcore-dev \
                 libpng-dev libopenexr-dev libtiff-dev libwebp-dev \
                 libmp3lame-dev libtheora-dev libvorbis-dev  \
                 libopencore-amrwb-dev x264 v4l-utils libgdk-pixbuf2.0-dev \
                 manpages-dev libopencore-amrnb-dev libgstreamer-plugins-base1.0-dev \
                 libqt5widgets5 libqt5gui5 libqt5dbus5 libqt5network5 libqt5core5a \
                 qtcreator qt5-default
# 修复可能安装出错的依赖
sudo apt install -f

3. 开始编译安装

按照以下步骤:

# 在opencv4.4源码解压后的文件夹下面,创建编译文件夹
mkdir build && cd build
# 配置编译选项
# CMAKE_INSTALL_PREFIX 是最终OpenCV的安装位置
# OPENCV_ENABLE_NONFREE 指示是否开启Non-free的算法
# OPENCV_EXTRA_MODULES_PATH 指示扩展算法的源码文件夹
# WITH_CUDA 该选项需要确保自己已安装显卡驱动和cuda
# 可以关注下命令的输出,可以从中找到哪些模块没有配置成功
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.4 \
      -D OPENCV_ENABLE_NONFREE=ON \
      -D OPENCV_EXTRA_MODULES_PATH=/home/zfb/opencv_contrib-4.4.0/modules \
      -D OPENCV_GENERATE_PKGCONFIG=YES \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D WITH_CUDA=ON \
      -D BUILD_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D INSTALL_C_EXAMPLES=ON ..
# 开启12个线程同时编译源码
make -j12
# 安装OpenCV到指定位置
sudo make install

4. 配置C++开发环境

按照以下步骤:

# 查看该文件是否存在(OPENCV_GENERATE_PKGCONFIG=YES参数保证此文件存在)
cat /usr/local/opencv4/lib/pkgconfig/opencv4.pc
# 把上面的文件添加到PKG_CONFIG_PATH
sudo vim /etc/profile.d/pkgconfig.sh
# 文件内容如下
# export PKG_CONFIG_PATH=/usr/local/opencv4/lib/pkgconfig:$PKG_CONFIG_PATH
# 激活文件
source /etc/profile
# 验证配置,如果不报错则说明正常
pkg-config --libs opencv4

5. 程序执行时加载动态库*.so

按照以下步骤:

# 将OpenCV的库添加到路径
sudo vim /etc/ld.so.conf.d/opencv4.conf
# 添加内容如下(也可能是空文件)
# /usr/local/opencv4.4/lib
# 更新配置
sudo ldconfig

6. 测试cpp文件

按照以下步骤:

# 进入下载的opencv4.4的源码文件夹下的samples目录
cd samples/cpp/example_cmake
# 配置编译选项
cmake .
# 开始编译文件
make
# 执行测试代码,弹出窗口实时显示摄像头画面
./opencv_example

7. 配置python3的opencv环境

首先需要找到编译好的用于python3的动态库文件的位置,可以使用如下代码搜索(其实在sudo make install时也会显示):
sudo find / -iname "cv2*.so"
得到路径为/usr/local/opencv4.4/lib/python3.8/dist-packages/cv2/python-3.8/cv2.cpython-38-x86_64-linux-gnu.so
然后把它复制到对应python解释器的/path/to/dist-packages(系统自带的python解释器)和/path/to/site-packages(用户安装的python解释器)目录下,之后就能在该python解释器中使用python-opencv库:

# 查看系统Python环境的包路径
/usr/bin/python3 -c "import pip;print(pip)"
# 创建软链接使得/usr/bin/python3可以使用opencv
sudo ln -s /usr/local/opencv4.4/lib/python3.8/dist-packages/cv2/python-3.8/cv2.cpython-38-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/cv2.so
# 测试安装结果
/usr/bin/python3 -c "import cv2;print(cv2.__version__)"

8. 卸载编译安装的OpenCV

  1. 进入编译时的文件夹cd build
  2. 执行卸载命令sudo make uninstall,此命令会删除安装时添加的所有文件,但是不处理文件夹
  3. 根据上一个命令的回显,删除目的文件夹的与该软件有关的空文件夹
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下命令在Ubuntu 18.04上安装OpenCV 4.4: 1. 更新Ubuntu软件包列表: ``` sudo apt-get update ``` 2. 安装依赖项: ``` sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 3. 安装图像和视频I/O库: ``` sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libv4l-dev libxvidcore-dev libx264-dev ``` 4. 安装OpenCV: ``` sudo apt-get install libopencv-dev ``` 或者从源代码编译安装: ``` git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.4.0 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j8 sudo make install ``` 安装完成后,您可以使用OpenCV库来编写和运行图像和视频处理应用程序。 ### 回答2: 要在Ubuntu 18.04上安装OpenCV 4.4,可以按照以下步骤进行操作: 1. 打开终端,并更新包列表,输入以下命令: ``` sudo apt update ``` 2. 安装OpenCV依赖库,输入以下命令: ``` sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 3. 克隆OpenCV的源代码到本地,输入以下命令: ``` git clone https://github.com/opencv/opencv.git ``` 4. 切换到OpenCV源代码文件夹中,输入以下命令: ``` cd opencv ``` 5. 创建用于编译的build文件夹,输入以下命令: ``` mkdir build ``` 6. 进入build文件夹,并运行cmake命令生成Makefile,输入以下命令: ``` cd build cmake .. ``` 7. 开始编译安装OpenCV,输入以下命令: ``` make -j4 sudo make install ``` 8. 完成安装后,需要将OpenCV库路径添加到系统库路径中,输入以下命令: ``` sudo echo '/usr/local/lib' >> /etc/ld.so.conf.d/opencv.conf sudo ldconfig ``` 9. 验证安装是否成功,可以编写一个简单的OpenCV程序,例如test.cpp,输入以下命令: ``` gedit test.cpp ``` 在编辑器中输入下列代码: ``` #include <opencv2/opencv.hpp> int main() { cv::Mat image; image = cv::imread("test.jpg", CV_LOAD_IMAGE_COLOR); // 替换成你的图片路径 if (!image.data) { printf("Could not open or find the image.\n"); return -1; } cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE); cv::imshow("Display window", image); cv::waitKey(0); return 0; } ``` 10. 保存并退出编辑器,然后编译并运行程序,输入以下命令: ``` g++ test.cpp -o test `pkg-config --cflags --libs opencv` ./test ``` 如果一切顺利,应该会显示一张图片。 通过以上步骤,您应该成功在Ubuntu 18.04上安装OpenCV 4.4。请注意,这只是一个基本的安装过程,您可能需要根据您的需求和配置进行适当地调整。 ### 回答3: 安装OpenCV4.4Ubuntu 18.04上可以按照以下步骤进行: 1. 打开终端,更新系统软件包列表: ``` sudo apt update ``` 2. 安装必要的依赖项: ``` sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev \ libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev \ python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev ``` 3. 克隆OpenCV的GitHub存储库: ``` cd ~ git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.4.0 #确保下载的是4.4版本 ``` 4. 克隆OpenCV的额外模块存储库: ``` cd ~ git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.4.0 #确保下载的是4.4版本 ``` 5. 创建一个build目录,并进入该目录: ``` cd ~/opencv mkdir build cd build ``` 6. 使用CMake配置编译选项: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. ``` 此处根据需要添加或修改其他选项。 7. 编译安装OpenCV: ``` make -j8 # 注意此处8代表线程数,根据你电脑的实际情况进行调整 sudo make install ``` 8. 配置OpenCV库: ``` sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf' sudo ldconfig ``` 至此,你已经成功在Ubuntu 18.04上安装OpenCV4.4,你可以在项目中使用该库进行图像处理和计算机视觉任务。 注意:这是基本的安装流程,具体安装过程可能会有所变化,因此,请仔细阅读官方文档和GitHub存储库上的说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值