将压缩图像转换为 VHDL RGB 数组

Posted

技术标签:

【中文标题】将压缩图像转换为 VHDL RGB 数组【英文标题】:Convert Compressed Image into VHDL RGB Array 【发布时间】:2014-08-07 18:55:18 【问题描述】:

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

【问题讨论】:

又快又脏,创建 aZynq 系统,安装 linux,在 Linux 中运行你的软件! 【参考方案1】:

最佳取决于您的约束条件。您想要最少的工作量还是最高的性能?

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

如果您不想运行 Python,那么您需要做更多的工作。请参阅this question 的回答,了解如何从 C 中打开 PNG/JPG。

显然,您需要考虑如何将阵列传入/传出 PL 结构。如果您的 PL 中有一个 DMA 控制器,那将是最好的使用机制。将 RGB 数组提取到内存区域,然后告诉 PL 中的 DMA 控制器将数组拉入块 RAM,然后您的 VHDL 可以对其进行处理。

【讨论】:

以上是关于将压缩图像转换为 VHDL RGB 数组的主要内容,如果未能解决你的问题,请参考以下文章

将numpy数组转换为rgb图像

C: 将数组转换为 RGB 图像

使用 OpenCV 将 YUV 转换为有损压缩

如何将 rgb 图像数组从 sws_scale 转换为 DIB(在内存位图中)

OpenGL RGB DXT1压缩纹理mipmap上传

图像压缩基于matlab JEPG图像压缩含Matlab源码 1167期