1.安装

1.1 安装opencv

    在opencv官网下载对应的版本,官网地址: opencv

1.2 安装opencv依赖包opencv_contrib

    在github上下载对应的版本,注意要对应opencv版本,例如opencv下载的是4.7.0版本,那么opencv_contrib也要下载4.7.0版本,github地址: opencv_contrib

1.3 开始安装

    首先加压两个zip文件,在opencv-4.7.0文件下新建一个目录,一般为build或者builds都可以,然后进入目录中,首先安装opencv依赖包

sudo apt update
sudo apt install -y build-essential cmake git pkg-config \
    libjpeg-dev libpng-dev libtiff-dev \
    libavcodec-dev libavformat-dev libswscale-dev \
    libv4l-dev libxvidcore-dev libx264-dev \
    libgtk-3-dev libcanberra-gtk3-dev \
    libatlas-base-dev gfortran

安装完后开始构建makefile文件,命令如下

cmake -D CMAKE_BUILD_TYPE=Release \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_GENERATE_PKGCONFIG=ON \
      -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON \
      -D BUILD_opencv_python2=OFF \
      -D BUILD_opencv_python3=OFF \
      -D BUILD_TESTS=OFF \
      -D BUILD_PERF_TESTS=OFF \
      ..

注意:以上构建makefile的时候,将python版本设置为off,因为之前遇到了一些坑,所以关闭了python的编译,编译完成后运行

make -j4

编译到100%后,开始安装

sudo make install

2.遇到的一些问题

2.1 编译过程中出现gapi错误

ets.cpp:3:10: fatal error: opencv2/gapi.hpp: 没有那个文件或目录 3 | #include <opencv2/gapi.hpp> | ^~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [samples/cpp/CMakeFiles/example_tutorial_api_ref_snippets.dir/build.make:76:samples/cpp/CMakeFiles/example_tutorial_api_ref_snippets.dir/tutorial_code/gapi/doc_snippets/api_ref_snippets.cpp.o] 错误 1 make[1]: *** [CMakeFiles/Makefile2:26262:samples/cpp/CMakeFiles/example_tutorial_api_ref_snippets.dir/all] 错误 2 make: *** [Makefile:166:all

可解决方案,构建的时候将 -D BUILD_EXAMPLES设置为OFF,再执行编译,编译通过

2.2 编译过程中出现python环境影响,例如anaconda的hd5,导致编译不通过

declaration as ‘typedef __ssize_t ssize_t’
  108 | typedef __ssize_t ssize_t;
      |                   ^~~~~~~
make[2]: *** [modules/hdf/CMakeFiles/opencv_hdf.dir/build.make:76: modules/hdf/CMakeFiles/opencv_hdf.dir/src/hdf5.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4710: modules/hdf/CMakeFiles/opencv_hdf.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

解决方案,暂时关掉anaconda的环境变量,先清除make ,命令

sudo rm -rf *

关掉anaconda的环境变量,先

echo $PATH

可以发现有anaconda的环境变量,再临时删除环境变量,例如我的是/home/a/anaconda

export PATH=$(echo "$PATH" | sed -e 's|/home/a/anaconda[^:]*:||g')

运行完后重新编译

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐