01--迅为4412-linux-arm板上opencv移植--终极解决方案(原创)

—本人由于需要做嵌入式图形处理,需要用到opencv。网上的移植教程倒是很多,但是几乎没有可以正常使用的。
作者经过大量尝试,最后发现,网上的文章,原创作者漏掉了极其非常关键的“glibc”库问题的描述,原创作者的文件系统可能使用自己的,其它转载的大部分都没有完全实现opencv的移植。
大部分工程师移植不成功的终极原因:opencv需要用到的是标准C库,但是在嵌入式arm的文件系统中,无论是从网上找的生成好的文件系统,还是使用busybox制作,默认都不是标准的glibc。
作者将详细过程整理成几篇文档,可以供大家参考。
熟练工们会移植opencv和buildroot的话,可以跳过去其中几篇文章。
和我一样的小白,可以参考下buildroot和opencv移植,以及内核配置。
buildroot和opencv这部分网上教程其实非常多,有问题的比较少,是通用技术,主要要结合buildroot和opencv,构建支持opencv的运行环境,这个点还没发现有人提出来。

作者的解决方法:使用buildroot,下载对应的glibc库构建文件系统,再移植opencv库。从新作者文件系统,然后移植到对应的开发平台上,然后用作者提供的例程,几乎不会出问题。
PS:如果大家发现看别人的文章移植不成功,通过作者这么详细的文章实现了移植,一定要点个赞哟!!*

以下是实验平台:
平台:Exynos4412,性能还是不错的。
01--迅为4412-linux-arm板上opencv移植--终极解决方案(原创)_第1张图片
实验平台:iTOP-4412-精英版,小家伙做的还挺精致。
01--迅为4412-linux-arm板上opencv移植--终极解决方案(原创)_第2张图片
编译平台:Ubuntu12.04;
编译器版本:arm-4.4.1,懒人直接用的开发板自带的;
buildroot版本:直接官网下载。过段时间就更新,大家下载最新的,应该不会出问题。
opencv版本:opencv2.4.9,opencv是通过buildroot下载的。
测试例程和源码:可以私信作者,留下邮箱,我懒,没有github。

#1 使用buildroot生成文件系统构建opencv环境
这部分介绍的是使用buildroot构建linux-opencv开发环境。
Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。
可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。
1.1 源码下载
从buildroot 官网 http://buildroot.uclibc.org/download.html获取 buildroot 源码包,笔者这里下的是buildroot-2015.05.tar.gz。
首先拷贝“buildroot-2015.05.tar.gz”到我们的Ubuntu虚拟机上,然后在Ubuntu命令行,使用命令“#tar -xcf buildroot-2015.05.tar.gz ”,解压完成后如下图。
在这里插入图片描述

你可能感兴趣的:(原创-嵌入式opencv移植)