微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 图像处理 存储 fpga

图像处理 存储 fpga

时间:10-02 整理:3721RD 点击:
1.最近在做图像算法方面的东西 一般图像采集到的信息都是一行一行进来的, 比如vga,hdmi,等。 我现在的算法是要根据一个块一个块的进行运算,请问这个图像存储怎么进行,是需要一帧一帧的先缓存吗?那怎么协调读取数据的速率和图像处理的速率之间的关系?

具体方案不知道,看样子应该有节省内存的算法。比方说只存储与块同高的图像。
可以考虑使用双缓存方式来缓冲处理速度和访问速度之间的瓶颈。



   谢谢

可以用fpga的片上存储器啊,如果数据小的话,以作为缓存,然后在进行处理

FPGA上有双口RAM,如果缓冲要求不是特别高,可实现该功能



   谢谢你了!

具体BUFFER的大小可能需要根据你处理数据的速度来确定,不是一定需要缓存一帧才可以。另外,如果速度不是特别快,可以偿试将RAM的clock加快一倍,然后再时分复用,模拟双口RAM,这样会比较节省资源,当然了这样功耗会有所增加。

一般是存几行吧

学习学习!



   1.图像采集是VGA、HDMI这句我不太明白你的意思,好像二者都是图像输出到显示器的方式吧。一般图像采集都是CameraLink协议,或者其他类似的帧同步、行同步的协议,数据一行一行地来,而且如果是彩色相机一般是BAYER模式的。      G  R  G  R  G  R  
      B  G  B  G  B  G  
      G  R  G  R  G  R   ----------------> BAYER  Pattern
      B  G  B  G  B  G  
   2.图像处理的算法要分块做?那可见图像不应该是640*512这样的小图像,FPGA的片上RAM资源是不够的,可以考虑片外的SDRAM或DDR2。
   3.看你分块的块大小。如果比较小,如8*8、32*32,应该意义不大,至少是128*128的吧。那这样的话,算法分块处理,但是DDR2存储未必需要分块存储。你分128次读128个连续的数据和你一次读连续的128*128的数据,效率几乎是一样的。这一点上,DDR2的存储不同于硬盘的存储,硬盘由于需要移动磁头的位置,所以读128次和读1次差别是相当相当大的,所以硬盘上一般会分块存储影像。
   4.我们处理的一般是航空影像,13824*7680*24bit的,所以算法的分块处理是十分必要的,算法上有什么问题可以交流。QQ:58855190.

还是有点蒙

我前段时间也研究过这个问题,我是做视频处理的,需要截取视频源的一块,我是利用双口RAM缓存一行数据,然后利用乒乓操作两块SRAM缓存一帧图像,因为视频源解码后有行同步信号和场同步信号,所以比较好判断何时截取,如果只是用内部资源,一帧图像存不下。
  因为我这还需要其他模块,所以没有整体测试,但是单个模块的仿真做过,没有问题。想问下你有写过LED驱动程序吗?



   你好,看你写的内容,应该对视频处理方面比较了解,不知能不能请教你几个问题,谢谢!

我做的一个视频处理的算法是,当前张每个pixel计算出一个info(motion),然后将图像划分成若干个block,每一个block存一个该block里出现次数最多的motion,然后下一张计算时,会拿出前一张对应block以及周围8个block所存的这个motion值来进行计算。所以处理上是直接用sram存这些motion,不知道题主的算法能否采用这种方式。如果能直接存info,而不是存data的话,数据量会小不少。当然还是要根据算法来。

可以考虑乒乓存储吧!能不能这样还要结合你后面模块如何处理!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top