首页 > 其他分享 >交叉编译之opencv-4.1.1

交叉编译之opencv-4.1.1

时间:2024-03-14 14:29:24浏览次数:28  
标签:4.1 tar 编译 opencv test contrib

编译环境:ubuntu 22.04;编译工具CMake

一、资料下载 

  opencv-4.1.1:https://github.com/opencv/opencv/archive/4.1.1.zip

  opencv_contrib-4.1.1:https://github.com/opencv/opencv_contrib/archive/refs/tags/4.1.1.tar.gz

  安装cmake

sudo apt install cmake-qt-gui

二、配置交叉编译环境

ubuntu环境下,编辑~/.bashrc文件:

nano ~/.bashrc

在最后添加交叉编译工具链:

export PATH=XXX/aarch64-xxx/bin:$PATH

三、生成配置

1.解压下载的opencv文件

tar -xvf opencv-4.1.1.tar.gz
tar -xvf opencv_contrib-4.1.1.tar.gz

2.将解压的opencv_contrib-4.1.1文件夹移入opencv-4.1.1中

mv opencv_contrib-4.1.1 opencv-4.1.1

3.进入opencv-4.1.1,创建build文件,进入build

cd opencv-4.1.1/
mkdir build 
cd build

4.cmake-gui

cmake-gui

5.如下操作:

6.点击Configure,进行如下操作:

Operating System一定要设置为Linux!!!不然之后引用动态库会报错../../lib/libopencv_xx.so not find,依赖的动态库是绝对路径!!!!

Configuring done

四、勾选配置项

1.CMAKE_INSTALL_PREFIX 生成的库、头文件等文件绝对路径

2.OPENCV_EXTRA_MODULES_PATH :opencv 扩展模块的路径

3.CMAKE_EXE_LINKER_FLAGS :添加 -lpthread -ldl

4.CMAKE_CXX_FLAGS: 添加-fPIC -static-libstdc++ -fpermissive

5.ZLIB_INCLUDE_DIR:设置路径xx/opencv-4.1.1/3rdparty/zlib

6.去掉BUILD_PERF_TESTS,BUILD_TESTS,交叉编译时不去掉会报错

7.OPENCV_GENERATE_PKGCONFIG:一定要勾选,会生成opencv4.pc文件

8.BUILD_OPENCV_WORLD:会将所生成的opencv库打包,可勾选可不勾选,不勾选则生成一个一个的单独的库

9.点击Generate,等待一段时间后会会显示Generating done

五、编译

退出cmake-gui,直接在build目录下执行make

make -j16
make install

六、报错

1.对‘png_do_expand_palette_rgba8_neon’未定义的引用等等

nano 3rdparty/libpng/CMakeLists.txt  # 最前面添加以下两个set;
set(ARM 1)
set(ENABLE_NEON 1)

2.No suitable threading library available

nano 3rdparty/protobuf/src/google/protobuf/stubs/common.cc
#define HAVE_PTHREAD

3.缺失文件boostdesc_bgm.i等

下载缺失文件,拷贝到opencv_contrib-4.1.1/modules/xfeatures2d/src

下载地址:链接: https://pan.baidu.com/s/11fEtaPSWWhzTakTysLMu2Q?pwd=fg3w 

4.找不到features2d/test/test_detectors_regression.impl.hpp等头文件

这些头文件在opencv-4.1.1/modules/features2d/test路径下

将该test文件夹复制到opencv_contrib-4.1.1/modules/xfeatures2d/test路径下

标签:4.1,tar,编译,opencv,test,contrib
From: https://blog.csdn.net/m0_58190930/article/details/136700765

相关文章

  • Relay 的基本流程,包括定义 Relay 模型、编译模型、创建会话和执行模型。
    TVM(深度学习编译器堆栈)中的Relay是一个用于表示、优化和执行深度学习模型的中间表示语言。下面是一个简单的示例,展示了如何在TVM中使用Relay:importtvmfromtvmimportrelay#定义一个简单的Relay模型x=relay.var("x",shape=(3,3),dtype="float32")y=r......
  • 反编译aspose-words
    publicstaticvoidmain(String[]args)throwsException{ClassPool.getDefault().insertClassPath("F:/lib/aspose-words-21.6-jdk16.jar");//获取javassist默认类池ClassPoolpool=ClassPool.getDefault();//获取domain.Hello......
  • C++工程(五):CMake+NDK交叉编译
    写一个HelloWorld#include<iostream>intmain(intargc,charconst*argv[]){for(inti=0;i<5;++i)std::cout<<"HelloWorld"<<std::endl;return0;}build_for_android.sh脚本文件#/bin/bashexportANDROID......
  • 基于opencv的手势识别
            当然可以,下面是一个使用OpenCV实现简单手势识别,并在摄像头捕捉的视频中描绘出手部轮廓为线条的示例。该代码会读取摄像头流,然后检测出手部,并用线条描绘出手的轮廓。  首先,你需要安装OpenCV库。如果你还没有安装,可以使用pip来安装:pipinstallopencv-pyt......
  • Godot 4.1 学习笔记
    godot%启用场景唯一名称这个怎么用的,给我举点例子。onreadyvarsect_rect=$"%SectRect这个节点可以在场景中的任意位置通过在节点路中为其加上”%”前缀来访问。点击禁用。什么“场景中的任意位置通过在节点路中”???好的,用更具体的例子来说明如何在Godot中使用%前缀......
  • Linux内核编译(版本6.0以及版本v0.01)并用qemu驱动
    系统环境:ubuntu-22.04.1-desktop-amd64目标平台:x86i386内核版本:linux-6.0.1linux-0.0.1环境配置修改root密码sudopasswd修改软件源(非必要)vmtools安装(实现win-linux软件互传)安装一些必须的软件:sudoaptinstallbuild-essentialopenssh-servervimnet-toolsgc......
  • 【计算机毕业设计源码】基于OpenCV的人脸检测系统
    项目概况基于OpenCV的人脸检测系统可对人脸进行框线检测,利用OpenCV的检测算法对单个或多个人脸实现框线定位。运行环境基于OpenCV的人脸检测系统运行环境如下:Python:≥3.5OpenCV:≥4.0IDE工具:VisualStudioCode技术栈:Python+OpenCV+PyQt5主要功能基于Ope......
  • python使用pillow和opencv生成图片缩略图
    代码如下:fromioimportBytesIOfrompathlibimportPathfromtypingimportAnnotated,Literal,Optional,Tuple,Union#pipinstallpillowopencv-pythonimportcv2#type:ignore[import-untyped]importnumpyasnpfromPILimportImageImageSizeType=Ann......
  • 【C++】【OpenCV-4.9.0】视频写入(VideoWriter,借助samples中的代码示例来进行学习)
    借助官方离线文档中的samples来理解VideoWriter文档位置:samples/cpp/tutorial_code/videoio/video-write/video-write.cpp注:需要提前下载openh264-1.8.0-win64.dll,然后放在Release文件夹下,否则无法正确对输出文件进行编码从而运行失败1#include<iostream>2#include......
  • window下使用Cygwin编译ffmpeg步骤和问题记录
    window下使用Cygwin编译ffmpeg步骤和问题记录1.编译环境搭建安装Cygwin到Cygwin官网下载Cygwin的可执行程序setup-x86_64.exe官网地址:https://cygwin.com/install.html安装包地址:https://cygwin.com/setup-x86_64.exe安装操作很简单,基本是下一步,下一步就可以安装过程中,......