OpenCV安装说明
CV图算子的使用依赖于OpenCV,因此使用CV图算子前需要完成OpenCV编译操作。
- 搭建OpenCV环境。
安装OpenCV环境所需的相关依赖,其中,Python安装的版本需为3.2及以上版本。
1
yum install -y binutils cmake git pkgconfig gcc gcc-c++ lapack ffmpeg libjpeg-* python3-devel python3-numpy
- 使用CV图算子提供的加速算子需先完成OpenCV 4.10.0源码的patch修改操作。
- 获取OpenCV源码包。
下载地址:https://github.com/opencv/opencv/archive/refs/tags/4.10.0.zip
- 从压缩包BoostKit-kp_cv_***.zip解压得到kcv.patch和kcv_AIOP.patch文件。
- 可根据需要优化的函数在OpenCV源码目录下应用patch文件。
1
unzip /home/opencv-4.10.0.zip && cd /home/opencv-4.10.0
- cvtColor、dilate、GaussianBlur、merge、remap、resize函数的优化需要应用kcv.patch文件。
1
git apply /home/kcv.patch
- convertTo、threshold、warpAffine、contourArea、countNonZero函数的优化需要应用kcv_AIOP.patch文件。
1
git apply /home/kcv_AIOP.patch
- cvtColor、dilate、GaussianBlur、merge、remap、resize函数的优化需要应用kcv.patch文件。
- 获取OpenCV源码包。
- 在“opencv”目录下执行cmake命令,生成相关makefile文件。
1 2 3 4 5 6 7 8 9
mkdir build cmake -S . -B build \ -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D CMAKE_CXX_FLAGS="-O3 -march=armv8-a" \ -D CMAKE_C_FLAGS="-O3 -march=armv8-a" \ -D BUILD_opencv_python3=ON\ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D PYTHON3_EXECUTABLE=$(which python3)
- 编译安装OpenCV。
1 2
cd build make -j && make install
此时可以正常调用优化后的OpenCV。
故障排除
- 问题一:shll等汇编指令提示“Error: invalid shift amount at operand 3 -- 'shll v22.4s,v19.4h,#8'”等信息。
解决方法:安装ffmpeg依赖和libjpeg相关包。
1
yum install ffmpeg libjpeg-*
- 问题二:Python通过import cv2找不到cv2。
解决方法:cv2没正确安装到Python的sitepackage,cmake指定Python路径后,执行cmake需要看到如图1所示信息才为正确。如图2所示则为安装错误示例。
- 问题三:安装过程中提示“typing_stubs_generation.nodes.type_node.TypeResolutionError: Failed to resolve alias "GProtoArg" exposed as "GProtoArg"”,详细信息如下所示。
解决方法:网络问题,无法访问Github网站下载ADE包。
ADE包主要用于自动微分,增强OpenCV在深度学习和机器学习方面的功能,尤其是在需要梯度计算的场景中,不影响KPCV库使用。
- 问题四:DNN模块提示“[modules/dnn/CMakeFiles/opencv_dnn.dir/build.make: 2530: lib/libopencv_dnn.so.4.10.0] Error 1”,详细信息如下所示。
解决方法:KPCV不涉及DNN模块,因此编译时候通过增加编译选项:-DBUILD_opencv_dnn=OFF将DNN模块屏蔽。
父主题: CV图算子说明