您的位置:

安装opencv

一、安装前准备

在安装opencv之前,需要确保系统中已经安装了必要的依赖项。下面是一些必须的依赖项:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

此外,在编译过程中还需要一些额外的库。下面的命令可以安装这些依赖项:

sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

二、下载源码

opencv的源代码可以从官方网站上进行下载。为了下载最新版本,我们可以使用以下命令:

cd ~/
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
unzip opencv.zip
unzip opencv_contrib.zip

三、编译和安装

接下来,我们需要进入解压后的目录并新建一个目录作为编译输出目录:

cd ~/opencv-master/
mkdir build
cd build/

然后,我们使用cmake来配置opencv的编译过程。在这个过程中,我们还需要指定安装目录(这里假设为/usr/local)以及其它选项。

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-master/modules \
    -D BUILD_opencv_python3=ON \
    -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \
    -D WITH_TBB=ON \
    -D WITH_V4L=ON \
    -D WITH_OPENGL=ON \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    -D BUILD_EXAMPLES=OFF ..

CMake 配置选项的意义:

  • CMAKE_BUILD_TYPE: 编译类型:Release或者Debug
  • CMAKE_INSTALL_PREFIX: 安装目录
  • OPENCV_EXTRA_MODULES_PATH: 需要加载的opencv附加模块路径
  • BUILD_opencv_python3: 是否编译python3支持
  • PYTHON_DEFAULT_EXECUTABLE: python可执行文件默认路径
  • WITH_TBB: 线程并发库TBB
  • WITH_V4L: Video4linux
  • WITH_OPENGL: OpenGL支持
  • ENABLE_NEON: NEON指令集优化
  • ENABLE_VFPV3: VFPV3指令集优化
  • BUILD_TESTS: 是否编译opencv测试程序
  • BUILD_PERF_TESTS: 是否编译opencv性能测试程序
  • BUILD_EXAMPLES: 是否编译opencv示例程序

配置完成之后,可以使用以下命令进行编译和安装:

make -j$(nproc)
sudo make install

四、测试安装

为了验证安装是否成功,可以在Python或C++中使用opencv代码编写一个demo程序。

以下是Python示例代码:

import cv2
cap = cv2.VideoCapture(0)
while(True):
    ret, frame = cap.read()
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

编译运行上述代码应该能够成功打开摄像头,并显示图像。

五、总结

经过上述步骤,我们已经成功地安装了opencv,并编写了一个简单的demo程序对其进行验证。