将压缩图像转换为VHDL RGB阵列

时间:2014-08-07 18:55:19

标签: image-processing compression vhdl rgb fpga

我正在使用FPGA开展图像处理项目,但是我遇到了导入原始图像的问题。在VHDL中将压缩图像文件(.png或.jpeg)转换为3D RGB数组的最佳方法是什么?我打算在Zynq板上运行它,因此无论是软件还是硬件解决方案都能正常工作。

1 个答案:

答案 0 :(得分:1)

最佳取决于您的约束条件。您想要最小的努力还是最高的性能?

如果您在Zynq上运行Linux并且不太关心性能,则可以使用Python Imaging Library打开文件并提取RGB像素值数组。我有一个测试平台,可以在这里为OpenCores JPEG编码器执行此操作:https://github.com/chiggs/oc_jpegencode/blob/master/tb/test_jpeg_top.py

如果你不想运行Python,那么你需要做更多的工作。请参阅this question关于如何从C打开PNG / JPG的答案。

显然,您需要考虑如何将数组传输到PL结构或从PL结构传输数组。如果你的PL中有一个DMA控制器,那将是最好的机制。将RGB阵列提取到存储器区域,然后告诉PL中的DMA控制器将阵列拉入块RAM,然后VHDL可以处理它。