您的位置 首页 开关

FPGA的图画处理技能,你知道多少?

最近一段时间一直在研究基于FPGA的图像处理,乘着EEPW这个机会和大家交流一下,自己也顺便总结一下。主要是为了大家对用FPGA做图像处理有个感性的认识,如果真要研究的话就得更加深入学习了。本人水平有

  最近一段时间一直在研讨根据FPGA图画处理,乘着EEPW这个时机和我们沟通一下,自己也趁便总结一下。首要是为了我们对用FPGA图画处理有个理性的知道,假如真要研讨的话就得愈加深化学习了。自己水平有限,如有过错,欢迎我们批评纠正。

  根据软件的图画处理办法存在着一些局限性,尤其是核算速度和算法功率方面。所以我们很天然的就想到了FPGA作为嵌入式图画运用的渠道。许多图画处理自身便是并行核算的,而且FPGA的编程硬件,本质上也是并行的。可是运用FPGA硬件进行图画处理存在许多的困难,需求学到许多的技巧。下面我介绍两几种比较根底的图画处理算法思维。

  单幅图画的点操作是图画处理中最简略的操作,输出值只取决于输入值,与方位无关,能够看作是一个函数的映射。从硬件完结的视点来说,最简略的办法便是经过一个完结函数的模块对输入的每个像素进行顺次处理,也便是流水化处理。每个像素都是独自处理的,能够把图画分为若干部分,每个部分独自处理,所以点操作简略并行完结。点操作可作为读取图画和后续处理之间的一个桥梁。A:亮度调理;为了使图画变亮,能够增大输出像素值,能够经过加一个常量完结。类似地,变暗减小像素值。可是实践中,调理亮度要杂乱的多,因为人的视觉体系对错线性的。B:对比度调理;图画的对比度受映射函数的斜率影响。斜率大于1增强,小于1则下降,能够经过乘以一个大于或许小于1的常数完结。C:一起调理亮度和对比度;一个简略的调理它们的点操作是:Q=aI+b=a(I+b’),a,b是操控亮度和对比度的恣意常数。当Q超出范围怎么办?例如用8位表明像素值时,Q超出0~255,那么输出怎么办?默许情况下只取8位最低有用位而且疏忽任何会导致值超出范围的溢出位。一般还需求进行饱满或许裁剪到极值作用会更好。

  直方图操作。运用直方图的图画处理有两个相关的首要过程。第一步是树立直方图,第二步是从直方图中提取数据并用它来处理图画。A树立直方图:对每个像素值累计计数。经过计数器数组完结核算每个像素值呈现的次数。这个办法的缺陷是占用的硬件资源比较多,合适阈值后的直方图核算。能够运用双口存储器完结,能够大大削减逻辑资源的运用。B直方图均衡化(运用部分信息来分配那些在输出像素值的范围上具有大的计数值的输入值的像从来取得更平整的直方图):完结直方图均衡化的映射是归一化累积直方图。直观地,假如输入点调集的计数值大于平均值,那么映射的斜率大于1,反之,小于1。

  部分滤波器。部分滤波器扩展点操作,以一个部分窗口内像素值的函数运算成果作为输出。窗口的巨细、形状能够随意,可是一般都是选用奇数正方形的,我见过最多的便是3×3,5×5,7×7,这样的话中心就很简略确认。部分滤波器有去噪、边际检测、边际增强等。线性去噪有排序去噪,均值去噪,加权均值去噪等,边际检测能够运用Prewitt,Sobel算子等,将这些算法在3×3窗口中完结,相对来说就比较简略了。也能够改善这些算法,是写小论文比较好的立异点。还有一些形态学滤波器,色彩滤波器,大致思维都相同,便是完结的时分算法改一下。

  我个人感觉根据FPGA的图画处理相对来说比较专业,比较难,一起这儿面的常识也比较多,合适做研讨。我最近看的一本书是《根据FPGA的嵌入式图画处理体系规划》,国外《Design for Embedded Image Processing on FPGAs》(作者Bailey)的翻译著,翻译水平一般,有些当地看中文版的看不懂,一看英文版的就理解了。我把英文版的电子文档上传到了eepw下载区。http://forum.eepw.com.cn/thread/243584/1。 初学者能够运用DSP Builder树立Simulink模型,然后它能够主动转换为VHDL或许verilog代码,然后再学习和修正那个代码,这样的话入门能够更快一点。如有过错,我们多多纠正。Eepw ID:lhzh7。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/118311.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部