ARM 中安装OpenCV

本文介绍如何在ARM平台上从源代码编译OpenCV库,并配置必要的环境变量,同时提供编译示例程序的方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载 1.0或者2.0 版本opencv

2.

./configure --host=arm-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include

./configure --host=arm-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include LDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib --with-v4l --prefix=/opt/opencv-arm --libdir=/opt/opencv-arm/lib --includedir=/opt/opencv-arm/include

    • --host=arm-linux :指出交叉编译arm平台
    • --without-gtk:忽略gtk+2.0 windows
    • --without-carbon: 不使用Mac OS上的X库
    • --without-quicktime
    • --without-1394libs
    • --without-ffmpeg
    • --without-python
    • --without-swig
    • --enable-static :生成静态库
    • --disable-shared:不生成动态库
    • CXX=arm-linux-g++ : 指定编译工具(建议用2.95.2或者2.95.3版本)
    • CPPFLAGS=-I/usr/include :OpenCV会用到一些dev的包,如png.h,jpeglib.h,大部分头文件在/usr/include下。

    如果在编译时出现png.h: No such file or directory ,意即缺少开发包,比如在Debian下可以apt-get install libpng2-dev,或者到libpng的网站 http://www.libpng.org/pub/png/libpng.html ,编译安装开发包即可。

    make 
    make install
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

    接着,根据需要在/usr/local/lib/pkgconfig/opencv.pc的Libs项中加入参数-lpthread、-ldl之类,例如

    Libs: -L${libdir} -lcv -lcxcore -lcvaux -lml -lpthread -ldl    //这里是加入以前没有的库就可以了 否则会显示多次加载                               最后结果:Libs: -L${libdir} -lcv -lhighgui -lcvaux -lml -lcxcore -lpthread -ldl -lrt -fopenmp 

    编译例程

    • 编译例程drawing.c
    arm-linux-g++ drawing.c `pkg-config --cflags --libs opencv` -o drawing

                arm-linux-g++ drawing.c -o drawing -I/root/opencv-arm/include/opencv -L/root/opencv-arm/lib -lcv -lhighgui -lcvaux -lml -lcxcore -lpthread -ldl -lrt -fopenmp

    • 编译修改后的摄像头标定程序:
    arm-linux-g++ `pkg-config --cflags --libs opencv`  calibration.cpp -o calibration

    将生成的可执行程序拷贝到开发板上,运行。如果出现缺少libstdc++库的情况,可以在arm编译器目录下的lib目录中查找,拷贝到开发板中,并确保程序可以找到即可。

    摄像头驱动

    内核选项加入ovXXXX 驱动,并且模块加载。OpenCV程序中默认设备为/dev/video0 ,在程序中调用cvCaptureFromCAM函数可以直接获取摄像头,并采集图像。

    显示

    直接在要显示的地方调用显示驱动函数。

### 如何在ARM架构的设备上安装配置OpenCV #### 准备工作 为了成功地在ARM架构上安装OpenCV,需要先准备好必要的环境和工具链。确保目标平台已经具备基本的操作系统支持以及网络连接能力。 #### 安装依赖项 安装OpenCV之前,需准备一系列必需的支持库和其他组件。这些通常包括但不限于编译器、CMake构建工具以及其他可能被使用的第三方库。对于基于Linux系统的ARM设备而言,可以通过包管理器来简化这一过程: ```bash sudo apt-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy libtbb2 libtbb-dev \ libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev protobuf-compiler \ libprotobuf-dev ``` 此命令适用于Ubuntu/Debian系发行版下的ARM设备[^3]。 #### 获取源码并设置选项 下载最新版本的OpenCV源代码可以从官方GitHub仓库获取。之后解压文件夹并将当前目录切换至该路径内执行如下指令完成初步配置: ```bash git clone https://github.com/opencv/opencv.git cd opencv mkdir build && cd build cmake .. ``` 如果希望启用额外模块,则还需要克隆`opencv_contrib`仓库,并调整上述最后一条命令为带有参数的形式指向贡献模块的位置。 #### 编译与安装 一旦完成了所有前期准备工作,就可以开始实际编译流程了。考虑到资源有限的情况,在某些情况下建议降低线程数以减少内存占用风险;另外也可以考虑指定特定CPU优化标志提高性能表现。最终运行下面两条语句实现本地化部署: ```bash make -j$(nproc) sudo make install ``` 以上步骤能够帮助实现在大多数标准ARM平台上顺利搭建起可用的OpenCV环境[^4]。 #### 测试验证 编写一段简单的Python脚本来测试刚刚建立好的环境是否正常运作: ```python import cv2 print(cv2.__version__) img = cv2.imread('example.jpg') cv2.imshow('Image', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 这段程序会尝试读取一张图片显示出来,以此确认整个软件栈可以协同作业[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值