1.更新ubuntu中的镜像源文件

  通过如下命令更新镜像源:

sudo apt-get update
sudo apt-get upgrade

2.安装依赖包

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 python-dev-is-python2 python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libjasper-dev

  如果出现了报错信息如下,说明你使用的ubuntu18.04之后的系统,libjasper-dev 从 Ubuntu 18.04 起就被官方仓库移除(版权争议),因此在Ubuntu 20.04或者Ubuntu 22.04直接报错:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libjasper-dev

  因此,我们需要通过其他方法安装libjasper-dev:

sudo add-apt-repository -y "deb http://security.ubuntu.com/ubuntu xenial-security main" ## 临时启用 xenial-security 仓库(只拿 jasper,不影响系统)
sudo apt update
sudo apt install -y libjasper1 libjasper-dev ##安装libjasper
sudo add-apt-repository -r "deb http://security.ubuntu.com/ubuntu xenial-security main" ##把 xenial 源再删掉防止混用仓库
sudo apt update 

  注:如果是ubuntu18.04这里python-dev-is-python2要换成python-dev

3.安装 cmake-gui

sudo apt-get install cmake-gui

4.设置cmake

  创建build文件夹后,进入cmake文件夹设置:
在这里插入图片描述

  配置交叉编译器:
在这里插入图片描述
  需要修改的内容如下:

  • 在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
    下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。我这里就不做修改了
  • 在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中)
    然后选择opencv_contrib-3.2.0文件夹中的modules文件夹,注意,不是只选中opencv_contrib-3.2.0文件夹就好了,需要选中里面的modules文件夹! 如下图所示,然后点Choose。
    注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。
  • 选择CMAKE_INSTALL_PREFIX。 install 是刚刚创建的,后面的 make install 会把编译好的opencv libs拷贝到该目录下
  • 勾选 BUILD_opencv_world(根据需求来)
  • 给 CMAKE_EXE_LINKER_FLAGS 加上参数 -lpthread -lrt -ldl
  • 设置 CMAKE_FIND_ROOT_PATH 为交叉编译工具链的 bin 目录
  • 在CMAKE_C_FLAGS和CMAKE_CX_FLAGS后添加 -pthread -ldl
    注:libc-2.31.so # 2.31 ≥ 2.17 → 不用 -lrt
Logo

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

更多推荐