上周狼哥得空,把最近写的缩放代码上板子跑了下效果,现在终于可以拿出来见人了。
这个demo主要是针对没有mipi输入的小伙伴,整个demo的框图如下,通过sdk将测试图像导入到DDR中,解决mipi图像源的问题,然后通过datamover读取图像数据,为了可以实现图像的放大和缩小,先通过简单的抽样,将图像下采样到原图的1/4,然后将原始的rgb图像转成灰度,这么做的目的一个是将rgb转灰度的公式实现给大家,另一个就是考虑到资源问题,如果使用rgb格式,有些使用7010开发板的可能资源不够,或者资源用的过多出现不必要的时序问题,转成灰度之后,就可以进行图像的缩小和放大了,为了在同一个工程方便验证缩小和放大,缩放的参数通过PS来配置,小伙伴们可以通过修改ps的参数,快速的验证缩放功能的正确性,缩放好的数据通过datamover写回到DDR里,然后再读取出来给hdmi显示出来,这样就很方便的看到了图像缩放的效果。
整个的demo涉及到缩放仿真、使用matlab生成测试图,sdk导入测试图像,DDR读写逻辑,流控,rgb转灰度,缩放算法、hdmi显示等知识,对缩放感兴趣的小伙伴这是一个完整的学习demo。
下面我们看看整个工程的实际架构和资源消耗,图像依次是顶部层bd,缩放核心子层级,资源消耗和7010资源参考,缩放模块的资源大家可以参照《FPGA图像算法.无极缩放》,整个工程可以在小资源的7010上实现,解除大家对资源的后顾之忧。
最后看看实际的上板效果图,缩放的基准图是640*360,显示分辨率为1280*720,图片按顺序分别是放大到720*480,缩小到360*240,放大到1280*720。缩放比可以任意设定,行列等比例和不等比例都可以。如果对demo有兴趣的欢迎加文章末尾微信咨询。
*******往期精彩文章列表********
点击上面链接查看详情