0

我正在为支持 MicroPython 的微控制器编写一些图像处理例程。坏消息是它只有 0.5 MB 的 RAM。这意味着如果我想处理相对较大的图像/矩阵,如 256x256,我需要将其视为较小矩阵(例如 32x32)的集合并对其执行操作。撇开从 (32x32) 子矩阵重构原始 (256x256) 矩阵的最终输出的事实不谈,我想关注如何从磁盘加载/保存到磁盘(在这种情况下是 SD 卡)来自大图像的这个较小的矩阵。

鉴于该介绍,这是我的问题:假设我有一个 256x256 的磁盘,我想对其应用一些操作(例如卷积),那么存储该图像的最方便的方法是什么,以便将其加载到 32x32 图像补丁中? 我已经看到了 pickle 模块的 MicroPython 实现,这对我的问题来说是个好主意吗?

4

1 回答 1

0

抱歉,但您的问题包含答案 - 如果您需要使用 32x32 瓷砖,最好的格式是将您的大图像表示为一系列瓷砖(例如,不是一个大的 256x256 图像,尽管从中读取瓷砖是也不是一门火箭科学,在 MicroPython 中编写代码应该相当简单,尽管 32x32 瓦片当然会更有效)。

您没有描述图像的确切格式,但我不会使用 pickle 模块,而是将图像存储为原始字节并将它们加载到 array.array() 对象中(使用就地 .readinto() 操作)。

于 2017-11-01T10:23:34.507 回答