OpenCV2.0.0移植到ARM9(一)(JZ2440----S3c2440)
来源:互联网 发布:linux查看集群 硬盘 编辑:程序博客网 时间:2024/06/08 00:56
OpenCV2.0.0移植到ARM9(一)(JZ2440----S3c2440)
Linux系统:Ubuntu9.10
交叉编译器:arm-linux-gcc-4.3.2(已安装)
OpenCV:OpenCV-2.0.0.tar.bz2(OpenCV for Linux/Mac)
CMake:cmake-2.8.12-Linux-i386.tar.gz
1、OpenCV解压
将OpenCV-2.0.0.tar.bz2放到/work/systems/下。
解压命令: tar -jxvf OpenCV-2.0.0.tar.bz2
2、CMake解压:
将cmake-2.8.12-Linux-i386.tar.gz放到/work/tools/目录下
解压命令 :tar -zxvf cmake-2.8.12-Linux-i386.tar.gz
解压后文件夹中
配置环境变量:修改配置文件:sudo vim /etc/environment
在原来的环境变量PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
:/usr/local/arm/4.3.2/bin/"中添加cmake所在目录/work/tools/cmake-2.8.12-Linux-i386/bin/
使生效:source /etc/environment
3、CMake编译opencv
通过cmake-gui命令启动cmake。
/work/systems/OpenCV-2.0.0/为OpenCV的安装包目录
/work/systems/OpenCVARM/用于生成Makefile的存储。
然后点击Configure按钮,选择为Unix Makefiles,选择Specify options for cross-compiling,点击Next
配置交叉编译器
配置前
配置后
之前arm-linux-gcc-4.3.2被安装到了/usr/local/arm/4.3.2/bin目录下。
然后点击Generate按钮生成Makefile;
4、编译
(1)进入之前Makefile的目录,即之前配置的/work/systems/OpenCVARM目录。
(2)编译:cd /work/systems/OpenCVARM
编译命令:$sudo make
第一个报错
错误:exec:arm-none-linux-gnueabi-gcc:not found
解决方法:将CMake-gui中C(Compilers)/usr/local/arm/4.3.2/bin/arm/arm-linux-gcc
改为/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc,
继续执行$ sudo make。
然后继续编译,报第二错误。
错误:exec:arm-none-linux-gnueabi-g++:not found
解决方法:
将CMake-gui中C(Compilers)/usr/local/arm/4.3.2/bin/arm/arm-linux-gcc
改为/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc,
C++(Compilers)/usr/local/arm/4.3.2/bin/arm/arm-linux-g++
改为/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++,
然后执行sudo make,则可以进行编译。
编译到87%,报第三个错误。
解决方法:修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,
重新编译,
(3)执行$sudo make install。将opencv生成的库和头文件(在 /work/systems/OpenCVARM/lib下),如图所示
libcvaux.so、libcv.so 、libcxcore.so、 libcxts.so 、 libhighgui.so 、 libml.so
查看生成的库是否是arm库,可以通过file libcv.so 命令查看
将opencv生成的库( /work/systems/OpenCVARM/lib下)安装到目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib目录下。
将opencv的头文件拷贝到/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include目录下。
其中,/usr/local/arm/4.3.2目录是arm-linux-gcc-4.3.2的安装目录。
5、在OpenCV应用程序往开发板上移植时,需要把这5个 .so 库文件拷贝到ARM板系统中的 /lib 目录下面。
- OpenCV2.0.0移植到ARM9(一)(JZ2440----S3c2440)
- OpenCV2.0.0移植到ARM9(二)(JZ2440----S3c2440)
- OpenCV2.0.0移植到ARM9(三)(JZ2440----S3c2440)
- OpenCV2.0.0移植到ARM9(五)(JZ2440----S3c2440)
- Qt2.2.0移植到ARM9(四)(JZ2440----S3c2440)
- 新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)
- 新版U-boot2012.04.01移植(二)(JZ2440-S3C2440)
- linux 2.6.32 在arm9(s3c2440)平台的移植
- linux 2.6.32 在arm9(s3c2440)平台的移植
- linux 下 opencv2.0 的移植 (ARM9)
- linux 下 opencv2.0 的移植 (ARM9)
- linux 下 opencv2.0 的移植 (ARM9)
- linux 下 opencv2.0 的移植 (ARM9)
- Uboot2014.04移植到S3C2440(一)--编译过程
- MiniGUI移植s3c2440(一)
- ARM9 ADS8344 SPI驱动移植 (一)
- ARM9(S3C2440) LED控制
- JZ2440开发板介绍(S3C2440)
- 定时器中断
- PHP的运行机制与原理(底层)
- JSP解析JSON对象
- 决策树ID3算法-matlab实现
- swr_convert函数介绍
- OpenCV2.0.0移植到ARM9(一)(JZ2440----S3c2440)
- Python金融大数据分析-BSM、Term Struc、Ho-Lee 与Vasicek模型路径仿真
- 欢迎使用CSDN-markdown编辑器
- Lambda表达式详解
- javascript知识结构图
- 测试小故事11:登录与登陆
- C#编写的UDP收发数据 单独的接收数据程序可以用 但是写的接收和发送的不好使
- linux----查找文件 命令简述
- NP完全问题