上周狼哥更新了Demo1针对没有mipi输入的用户,今天狼哥在Demo1的基础上增加了mipi输入和bayer2rgb的逻辑,实现了一个完整的图像处理流程,整个demo的框图如下。
整个工程首先通过mipi将图像数据接收进来,然后将bayer10转成rgb888,通过datamover写入DDR,然后通过datamover读取图像数据,为了可以实现图像的放大和缩小,先通过简单的抽样,将图像下采样到原图的1/4,然后将原始的rgb图像转成灰度,这么做的目的一个是将rgb转灰度的公式实现给大家,另一个就是考虑到资源问题,如果使用rgb格式,有些使用7010开发板的可能资源不够,或者资源用的过多出现不必要的时序问题,转成灰度之后,就可以进行图像的缩小和放大了,为了在同一个工程方便验证缩小和放大,缩放的参数通过PS来配置,小伙伴们可以通过修改ps的参数,快速的验证缩放功能的正确性,缩放好的数据通过datamover写回到DDR里,然后再读取出来给hdmi显示出来,这样就很方便的看到了图像缩放的效果。
整个的demo涉及到缩放仿真、mipi接收监控,bayer转rgb,DDR读写逻辑,流控,rgb转灰度,缩放算法、hdmi显示等知识,对缩放感兴趣的小伙伴这是一个完整的学习demo。
下面我们看看整个工程的实际架构和资源消耗,图像依次是顶部层bd,mipi接收和转rgb逻辑层,缩放核心子层级,资源消耗和7010资源参考,缩放模块的资源大家可以参照《FPGA图像算法.无极缩放》,整个工程可以在小资源的7010上实现,解除大家对资源的后顾之忧。
*******往期精彩文章列表********
点击上面链接查看详情