OpenVX嵌入式图像处理(一)硬件平台及软件介绍
来源:互联网 发布:游族网络股票行情 编辑:程序博客网 时间:2024/05/23 23:27
图像处理这几年可谓是大红大紫了一番,尤其是OpenCV的出现让很多之前只有研究者才能使用的算法变成了小白装个库调用个函数就可以解决的问题。但是实时性一直以来都是一个非常头疼的问题,尤其是在嵌入式平台上进行图像处理的门槛一直以来都没有降低。今天在这挖个坑,想和大家一起把图像处理搬到嵌入式平台上去,让图像处理从花拳绣腿的演示实验,到真正真枪实剑。
硬件选择
图像处理方面ARM,DSP,FPGA,GPU四者可谓是各有各的优点。ARM的最大优点是系统封装,一旦ARM加上了系统那程序写起来会避免接触诸多底层的麻烦。在2014年之前,大多数高端开发板还停留在DSP+ARM的架构上,程序写起来可谓是难上加难。而单纯ARM CPU的嵌入式平台即便是可以跑较为完整的Linux系统,运算速度和桌面平台也差一个数量级。
2014年英伟达推出了Jetson 系列的带GPU的嵌入式超级计算机在硬件上打破这一难题。入门级Jetson tk1 以及高配版Jeston tx1 基本上可以完全满足用户对于嵌入式图像处理的硬件需求。本系列将使用Jetson tk1作为嵌入式图像处理的硬件平台使用
Jeston tk1 全名Nvidia Jeston Tegra K,他拥有Cortex-A15架构的32位四核心CPU,拥有192核心的开普勒GPU, 2GB内存,并有USB 3.0、HDMI 1.4、SATA、千兆以太网(Realtek RTL8111GS)、音频(Realtek ALC5639)、mini PCI-E。总的来说,除了USB接口数目,其他的都已经绰绰有余,配得上“超级计算机的名号”。不过关于硬件方面,有几个藏得很深的地方要拿出来说明一下:- 板子一共有四个串口,一个RS232串口和三个TTL电平,英伟达官方文档中不建议使用UART 2,因为他适用于开发板的调试功能;
- RS232串口存在只能发不能收的问题,目前尚未解决;
- USB控制器不支持Kinect V2。
软件介绍
Jeston tk1 自带有Tegra系统,其实就是一个加入部分优化的ARM Ubuntu。Tegra保留了几乎所有Ubuntu 14.04 LST的功能,如果你是一个linux程序员那上手起来一定会非常快。此外,Nivida 还提供了Tegra2Opencv的工具包,使用它可以利用NVCC编译opencv,这比使用ARM编译的Opencv速度要快很多。值得一提的是,使用NVCC编译的Opencv可以利用Opencv中的GPU模块,虽然Gpu模块现在还是一个效率存疑的模块,但是就我的测试结果来看,使用GpuMat 和Gpu::initUndistortRectifyMap效率cv::initUndistortRectifyMap的5倍。
此外,Jeston tk1 还有英伟达自家的VisionWorks 图像处理库,这个基于OpenVX的开源(虽然我至今没有找到他的CPP文件)图像处理库提供基于硬件加速的视觉处理算法,就我自己的测试结果来看,像光流检测,立体匹配等VsionWorks里有的模块,效率基本上都是Opencv的10倍以上,这一点会在以后的文章中详细说明。- 本系列说明
本系列将采用Jeston Tk1 作为硬件实现平台,算法方面会兼用Opencv和VisionWorks两个库,对比他们效率,有什么问题希望大家可以与我一起交流~
- OpenVX嵌入式图像处理(一)硬件平台及软件介绍
- OpenVX嵌入式图像处理(一)硬件平台及软件介绍
- 嵌入式学习的误区及建议(软件硬件)
- 嵌入式学习的误区及建议(软件硬件)
- OpenVX
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- Android bluetooth介绍(一):基本概念及硬件接口
- 嵌入式软件开发中的硬件电路概念总结一
- Zedboard & Zynq 图像采集 视频开发 (一) 硬件平台搭建
- 简单介绍嵌入式软件分类及发展趋势
- Netty实现原理浅析
- 信号量与互斥锁
- 一文看懂神经网络工作原理
- Javascript获取select下拉框选中的的值
- 深入分析JVM逃逸分析对性能的影响
- OpenVX嵌入式图像处理(一)硬件平台及软件介绍
- Java笔试题解-流程控制(1)
- ie浏览器升级的正确姿势
- 上传多张图片并预览
- android 底部导航栏 ViewPager+RadioGroup+Fragment
- apktool2.2.3的使用
- easyui datagrid编辑行设置某个字段不可编辑
- Oracle 11g安装过程图解
- view的translatesAutoresizingMaskIntoConstraints属性