OpenCV移植到6410上

3 篇文章 0 订阅
2 篇文章 0 订阅

写下文章:记录与修改,以铭记。

一、开发环境:

环境:ubuntu11.04

交叉编译工具:gcc version 4.5.1 (ctng-1.8.1-FA)友善的东西

opencv版本:OpenCV-2.3.1a.tar.bz2(这里可以下载: http://sourceforge.net/projects/opencvlibrary/files/

cmake:cmake version 2.8.0()


一些依赖:因为之前在本地编译过(官网有介绍)

在终端运行:

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev

安装:cmake

apt-get install cmake-gui

apt-get install cmake


解压:

tar xvf OpenCV-2.3.1.tar.bz2

我使用的是友善提供的交叉编译工具。安装在/opt/FriendlyARM/toolschain/4.5.1/bin/目录下,

解压后,进入目录

cd OpenCV-2.3.1

运行:cmake-gui如果没有安装,系统会提示你安装

选择source file

选择build目录

点configure

然后选择:


next填路径:


Operating System :arm-none-linux

Compilers:

是交叉编译工具GCC与G++的目录,图中是我的目录

Target Root:****

点Finish



然后再回到Cmake目录下:

在这里选择该先与不先的东西,同时因为我之前在x86上编译过,


如上图。。

所以我把CMAKE_INSTALL_PREFIX改成:/usr/local/arm

同时添加了WITH_QT

因为添加WITH_QT_OPENGL时编译出错,所以后来去掉了。

同时修改QT_QMAKE_EXECUTABLE:/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake, 不然后面会有 asm错误

L



然后configure,再generate。。

进入/home/da/openCV/OpenCV-2.3.1-arm目录。

make

90%出现下面的错误:

 /home/da/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h: In function 'T cvflann::abs(T) [with T = long double]':
 /home/da/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h:63: error: 'fabsl' was not declared in this scope
make[2]: *** [modules/flann/CMakeFiles/opencv_flann_pch_dephelp.dir/opencv_flann_pch_dephelp.obj] Error 1
make[1]: *** [modules/flann/CMakeFiles/opencv_flann_pch_dephelp.dir/all] Error 2
make: *** [all] Error 2

解决方法:
修改vim /home/da/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h文件第63行的源码:{ return fabsl(x); }改为{ return fabs(x); }

继续make



x264-snapshot-20120608-2245库下载地址:
http://www.mmnt.net/db/0/98/www.videolan.org/pub/videolan/x264/snapshots/

yasm-1.2.0下载地址:
http://www.linuxfromscratch.org/blfs/view/svn/general/yasm.html

xvidcore-1.3.2下载地址:
http://www.xvid.org/Downloads.43.0.html

jpegsrc.v7:
http://www.imagemagick.org/download/delegates/

ffmpeg:
http://www.ffmpeg.org/releases/

zlib:
http://www.zlib.net/

libpng
http://www.libpng.org/pub/png/libpng.html


#include <cv.h>  
#include <cxcore.h>  
#include <highgui.h>  
#include <stdio.h>
      
      
int main(int argc,char **argv)  
{  
    CvCapture* capture = NULL;  
    IplImage* frame = NULL;  
      
    if(!(capture = cvCaptureFromCAM(-1)))  
    {  
        fprintf(stderr, "Can not open camera./n");  
        return -1;  
    }  
      
    cvNamedWindow("video", 1);  
      
    while(frame = cvQueryFrame( capture ) )  
    {  
        cvShowImage("video", frame);  
    }  
      
    cvDestroyWindow("video");  
    cvReleaseCapture(&capture);  

    return 0;  
}


arm-linux-gcc -o test test.c -I /usr/local/arm/include/opencv -L /usr/local/arm/lib -lopencv_core -lopencv_highgui -lpthread -lrt




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值