OpenCV在ARM平台上的移植
2013-04-22 21:10
381 查看
嗯哼?这是去年挺郁闷的花了好一阵子时间才搞通,现在毕业设计做好,今天写论文正写到OpenCV的移植,所以就写到博客里面给大家分享分享啦。。
测试环境:ubuntu 12.04 LTS
opencv版本:1.0
交叉编译器版本:4.5.1
步骤如下:
解压opencv-1.0.0.tar.gz,并进入目录,执行以下命令。
#./configure--host=arm-linux --without-gtk --without-carbon --without-quicktime--without-1394libs --with-ffmpeg --with-v4l2 --without-python --without-swig--enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/linux-gnueabi/includeLDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/linux-gnueabi/lib--prefix=/root/opencv-arm
--libdir=/root/opencv-arm/lib -includedir=/root/opencv-arm/include
命令说明:
--host=arm-linux:指出交叉编译arm平台
--without-gtk:忽略gtk+2.0windows
--without-carbon:不使用Mac OS上的X库
--without-quicktime:不使用quicktime解码
--without-1394libs:不使用1394设备
--without-ffmpe:不使用ffmpeg
--without-python:不使用python语言
--without-swig:不使用swig接口
--enable-static:生成静态库
--enable-shared:生成动态库
CXX=arm-linux-g++:指定编译工具
CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/linux-gnueabi/include:OpenCV会用到一些dev的包,如png.h和jpeglib.h,大部分头文件在/usr/include下
--prefix=/root/opencv-arm:指定安装目录
-libdir=/root/opencv-arm/lib:指定库文件安装位置
--includedir=/root/opencv-arm/include:指定头文件安装位置
这样终端里面便会打印出所有的配置信息,如下:
Generalconfiguration =========================================
Compiler:arm-linux-g++
CXXFLAGS:-Wall -fno-rtti -pipe -O3 -fomit-frame-pointer
Installpath: /root/opencv-arm
HighGUIconfiguration ========================================Windowing system--------------
UseCarbon / Mac OS X: no
Usegtk+ 2.x: no
Usegthread: no
ImageI/O -------------------------
Uselibjpeg: yes
Usezlib: yes
Uselibpng: yes
Uselibtiff: no
Uselibjasper: no
UselibIlmImf: no
VideoI/O -------------------------
UseQuickTime / Mac OS X: no
Usexine: no
Useffmpeg: yes
Usedc1394 & raw1394: no
Usev4l: yes
Usev4l2: yes
Wrappersfor other languages ==================================
SWIG
Pythonno
Additionalbuild settings ======================================
Builddemo apps no
Nowrun make ...
=========================================================
如果打印的配置信息没错的话,那么便可以执行make编译,大概需要编译20分钟,出现如图4.5的错误。
图4.5编译OpenCV出错
解决办法,就是找到 ./../cxcore/include/cxmisc.h文件中第133行的#elif 改成 #else即可。然后重新make编译通过后,执行 make install安装完成即可。
如下图所示:
将/root/opencv-arm/lib里的
libcvaux.so.1.0.0
libcv.so.1.0.0
libcxcore.so.1.0.0
libhighgui.so.1.0.0
libml.so.1.0.0
拷出来全部重命名为
*.so.1
然后拷贝到arm板中即可。。。
测试环境:ubuntu 12.04 LTS
opencv版本:1.0
交叉编译器版本:4.5.1
步骤如下:
解压opencv-1.0.0.tar.gz,并进入目录,执行以下命令。
#./configure--host=arm-linux --without-gtk --without-carbon --without-quicktime--without-1394libs --with-ffmpeg --with-v4l2 --without-python --without-swig--enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/linux-gnueabi/includeLDFLAGS=-L/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/linux-gnueabi/lib--prefix=/root/opencv-arm
--libdir=/root/opencv-arm/lib -includedir=/root/opencv-arm/include
命令说明:
--host=arm-linux:指出交叉编译arm平台
--without-gtk:忽略gtk+2.0windows
--without-carbon:不使用Mac OS上的X库
--without-quicktime:不使用quicktime解码
--without-1394libs:不使用1394设备
--without-ffmpe:不使用ffmpeg
--without-python:不使用python语言
--without-swig:不使用swig接口
--enable-static:生成静态库
--enable-shared:生成动态库
CXX=arm-linux-g++:指定编译工具
CPPFLAGS=-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/linux-gnueabi/include:OpenCV会用到一些dev的包,如png.h和jpeglib.h,大部分头文件在/usr/include下
--prefix=/root/opencv-arm:指定安装目录
-libdir=/root/opencv-arm/lib:指定库文件安装位置
--includedir=/root/opencv-arm/include:指定头文件安装位置
这样终端里面便会打印出所有的配置信息,如下:
Generalconfiguration =========================================
Compiler:arm-linux-g++
CXXFLAGS:-Wall -fno-rtti -pipe -O3 -fomit-frame-pointer
Installpath: /root/opencv-arm
HighGUIconfiguration ========================================Windowing system--------------
UseCarbon / Mac OS X: no
Usegtk+ 2.x: no
Usegthread: no
ImageI/O -------------------------
Uselibjpeg: yes
Usezlib: yes
Uselibpng: yes
Uselibtiff: no
Uselibjasper: no
UselibIlmImf: no
VideoI/O -------------------------
UseQuickTime / Mac OS X: no
Usexine: no
Useffmpeg: yes
Usedc1394 & raw1394: no
Usev4l: yes
Usev4l2: yes
Wrappersfor other languages ==================================
SWIG
Pythonno
Additionalbuild settings ======================================
Builddemo apps no
Nowrun make ...
=========================================================
如果打印的配置信息没错的话,那么便可以执行make编译,大概需要编译20分钟,出现如图4.5的错误。
图4.5编译OpenCV出错
解决办法,就是找到 ./../cxcore/include/cxmisc.h文件中第133行的#elif 改成 #else即可。然后重新make编译通过后,执行 make install安装完成即可。
如下图所示:
将/root/opencv-arm/lib里的
libcvaux.so.1.0.0
libcv.so.1.0.0
libcxcore.so.1.0.0
libhighgui.so.1.0.0
libml.so.1.0.0
拷出来全部重命名为
*.so.1
然后拷贝到arm板中即可。。。
相关文章推荐
- 将交叉编译好的OpenCV移植到ARM平台
- OpenCV移植到ARM平台---Opencv with ffmpeg to ARM移植总结
- OPENCV在ARM平台的移植
- OpenCV2.4.4 移植到arm平台过程详解,及 __extern_inline 错误的解决方案
- Hi3559A ARM64位 嵌入式平台的OpenCV2.4移植
- 基于Hi3559A ARM64位嵌入式平台的OpenCV2.4.9+ffmpeg2.0.7移植及应用
- 基于Hi3559A ARM64位嵌入式平台的OpenCV 2.4/3.1 移植
- 基于qt的嵌入式平台输入法:SYSZUXpinyin移植到arm后,UDP接收端中文乱码 本地中文乱码 解决
- 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题2---CMAKE配置问题
- ARM平台移植jpeg z png 库
- Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结
- ARM平台上蓝牙协议栈Bluez的移植使用和配置
- QT4.7.0 在ARM平台移植
- caffe移植到arm平台
- tslib移植至arm平台
- 移植QT到arm平台
- 移植strace调试工具到arm平台
- ARM平台上蓝牙协议栈Bluez的移植使用和配置
- Opencv-2.0.0的ARM移植和使用(Ubuntu10.04 / OK6410开发板 / linux3.01)
- 移植mysql到arm平台