一、安装前准备
在安装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程序对其进行验证。