将矩阵部分加载到RAM

时间:2017-10-05 10:31:27

标签: python data-structures microcontroller micropython

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

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

1 个答案:

答案 0 :(得分:0)

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

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