【问题标题】:Load portions of matrix into RAM将部分矩阵加载到 RAM 中
【发布时间】:2018-03-16 22:43:12
【问题描述】:

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

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

【问题讨论】:

  • 闪存周期有限,我不会大量使用闪存卡作为工作空间。
  • 这是一个很好的观点。谢谢!

标签: python data-structures microcontroller micropython


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多