2017-10-05 159 views
0

我正在爲支持MicroPython的微控制器編寫一些圖像處理例程。壞消息是它只有0.5 MB的RAM。這意味着如果我想使用像256x256這樣的相對較大的圖像/矩陣,我需要將它視爲一組較小的矩陣(例如32x32)並對它們執行操作。撇開從其(32x32)子矩陣重構矩陣(256x256)矩陣的最終輸出的事實,我想專注於如何從磁盤加載/保存到磁盤(在這種情況下是SD卡)這些較小的矩陣來自一個大的圖像。將部分矩陣加載到RAM中

鑑於介紹,這裏是我的問題:假設我有一個256x256的磁盤,我想應用一些操作(例如卷積),什麼是最方便的方式來存儲該圖像,因此很容易加載它到32x32圖像補丁?我已經看到了pickle模塊的MicroPython實現,這對我的問題是一個好主意嗎?

+1

閃存週期是有限的,我不會廣泛使用閃存卡作爲工作空間。 –

+0

這是一個很好的觀點。謝謝! – karl71

回答

0

對不起,但你的問題包含答案 - 如果你需要使用32x32的瓷磚,最好的格式是代表你的大圖像作爲一系列的瓷磚(例如不是一個大的256x256圖像,雖然閱讀瓷磚而且它也不是火箭科學,在MicroPython中編碼應該相當簡單,當然32x32瓷磚效率更高)。你不描述你的圖像的確切格式,但我不會使用pickle模塊,但將圖像存儲爲原始字節並將它們加載到array.array()對象中(使用inplace.readinto()操作)。