【精品博文】关于FPGA图像处理算法验证板
淘宝网和电子论坛,卖开发板都是烂大街了。说实在的,视频处理开发板也是挺多的。但是说实在,总感觉很多fpga图像处理板子,无非简单利用摄像头做做图像插值,滤波器,二值化处理。
但真正项目有这么简单吗?图像处理最基本的三大能力ISP的处理,很大部分是不知道,也不知道具体怎么做。况且很多图像处理板子,根本处理在于输出的图像格式,以及传输要求,比如用usb或者千兆网。这些功能一定程度,太难,而且关键你根本没学到项目中到底用fpga做图像处理为了什么结果。
以前想过一个fpga图像处理板子,上面摆满USB3.0,10G光模块,PCIE3.0,SATA接口,再加上能变焦的摄像模组。然后我也想过这种板子的价格都是上万的成本。对于很多工程师和学生是不利。价格太贵,其实学这些高速接口也没有跟图像处理太大关联性。图像传输格式仅仅是图像一个很小领域的分支。
目前很多公司利用zynq平台来加速图像,其实这个平台的ARM是没有做图像处理太多工作,大部分工作都是在FPGA上面。看到现在很多fpga处理板子无非一个FPGA加几个DDR3,要么加几个按键数码管,串口,VGA输出。我真的很难理解这些做开发板到底有没有做过真正的图像处理项目。
fpga图像处理的项目很少公司会用,除了大的安防公司,其他小公司不怎么需要。况且fpga主要是擅长于接口转换。所以fpga很多领域,无非转换不同的数据接口。
然后招聘网站经常有很多公司开了高价工资招聘fpga图像算法工程师。关于FPGA如何处理图像是真正用心去做。不是在modelsim仿真下,不是在开发板弄个摄像头出个图像,不是在你开发板随便做个c语言算法。
需要一个便宜,又能验证功能的fpga视频处理板子真的是需要。
1. 从DVI或者HDMI输入图像。不需要从各类USB,PCIE输入,网络输入。了解USB和pcie和网络个是需要很多时间,况且写上层c++程序难度太大。一个准备工作太累。利用HDMI或者DVI输入数据,方便很多,现在很多笔记本和台式机都是具有HDMI输出接口很方便使用。至于为什么不用VGA输入,因为VGA输入有数据误差,况且VGA容易烧坏接口。
2. 对于RAW摄像头数据,可以用SD卡读取数据。RAW是摄像头最原始的数据。有些图像处理需要10位ADC的图像数据处理,比如一些X光造影技术,血管造影技术。
3. 图像处理存储最重要是DDR3以及SRAM。仅仅用DDR3是不够,因为有些图像算法需要随机取点,当然也可以用高端的FPGA,内部大量的RAM块,但是成本太高,对学习的人是不太合适。
4. 矫正点的QSPI FLASH,图像很多矫正算法,矫正点,需要FLASH存储参数一类,需要这类flash工作。
5. 输出视频接口应该有两个视频输出,一个做为参考,另外一个作为输出结果。
6. 其他组件应该有个几个开关和按键。还有串口,串口由于打印图像算法的函数结果。
7. 再配一个千兆网口,用于以后的功能。
上述就是开发板的内容。我总觉得还是不够,但是成本控制下,只能做这些,但是能满足很多图像处理要求平台。