FPGA实时边缘检测算法的实现
FPGA实时边缘检测算法的实现(中文5000字,英文PDF)
一.导言
读取时的图像是作为一种信号读取的。图像作为像素的对比度读取时被进一步视为信号并被处理。当处理任何图像时,输入的就是一幅图像,如照片或视频帧,输出也应该是一幅图像或者一系列与图像相关的数据或者参数。1个边沿检测像素需要9次加法,9次乘法和1次比较。 如果图像大小为640 X480,则这些操作总计为2764800次乘法,2764800次加法和307200次比较。
如果我们考虑在一秒钟内处理25帧的视频,那么平均需要在0.04秒内执行5836800次操作。本文没有考虑存储或检索像素数据的任何开销。处理每秒25帧的边缘检测请求和720×580(PAL帧)的每个像素的单个操作总计达到每秒101400次操作。因此,时间限制是实现此类应用的主要挑战.FPGA是一种可重构的平台,近年来越来越受欢迎。图像处理算法可以通过两种平行度的方式实时实现:空间平行度和时间平行度。空间平行度通过处理将图像分离成子区域,然后将每个子部分或子图像同时给予不同的流水线以便并行执行。这也被称为时间并行性。实际上,这种并行化受制于系统的处理模式和硬件约束。正是由于FPGA的这种特性,或者子图像被同时提供给不同的流水线并行执行。空间并行性,这使它们成为实现实时图像处理算法的最合适的候选者之一。编程FPGA既麻烦又耗时,因为没有高级工具。 [来源:http://Doc163.com]
但是现在随着技术的发展有了这些用于配置FPGA的高级工具,越来越多的人有动力使用FPGA进行实现。此外,设计时间减少了这项工作集中在实时实现图像处理算法(即视频)所需的广泛计算能力上。这项工作也被在MATLAB(软件)和FPGA(硬件)等各种平台上完成。同时缩短设计时间,实现是在功能强大的设计工具Altium Designer上实现的。
[来源:http://www.doc163.com]
[来源:http://Doc163.com]