2011-02-27 44 views
7

我使用篩選描述符基於它們之間的區域匹配創建兩個圖像的拼接。問題是當創建的馬賽克的大小變得太大時,matlab內存耗盡。 有沒有實際加載完整的圖像在內存中拼接圖像的方式。 如果不是其他千兆像素圖像生成技術如何工作或全景應用程序。如何在matlab中處理大圖像而不會耗盡內存?

回答

1

有幾個方法可以節省內存:

  1. ,您應該使用整數數據類型,如uint8爲您的數據。
  2. 如果拼接,則只能將感興趣的區域保留在內存中,例如潛在的重疊區域。
  3. 如果其他工作都不起作用,您可以使用imresample對圖像進行空間下采樣,然後處理生成的較小圖像。
2
  1. 確定最終鑲嵌的縫合前的大小(容易計算與輸入圖像的尺寸和所述單應性)。
  2. 寫一個空白的馬賽克文件(不是在任何特定的格式,但像內存中的一個字節序列)
  3. 我假設你是從原始圖像映射到馬賽克像素。所以,當您嘗試在馬賽克中存儲像素的強度時,只需寫入文件即可。