图像处理 存储 fpga
具体方案不知道,看样子应该有节省内存的算法。比方说只存储与块同高的图像。
可以考虑使用双缓存方式来缓冲处理速度和访问速度之间的瓶颈。
谢谢
可以用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的话,数据量会小不少。当然还是要根据算法来。
可以考虑乒乓存储吧!能不能这样还要结合你后面模块如何处理!
