2011-02-27 7 views
7

Je crée une mosaïque de deux images basées sur les correspondances de régions entre elles en utilisant des descripteurs de criblage. Le problème est lorsque la taille de la mosaïque créée devient trop importante. Matlab manque de mémoire. Existe-t-il un moyen de broder les images sans charger réellement les images complètes en mémoire. Sinon, comment fonctionnent les autres techniques de génération d'image gigapixel ou les applications panorama.Comment gérer de grandes images dans matlab sans manquer de mémoire?

Répondre

1

Il y a quelques façons dont vous pouvez économiser de la mémoire:

  1. Vous devez utiliser les types de données entières, telles que uint8 pour vos données.
  2. Si vous cousez, vous ne pouvez conserver en mémoire que les régions d'intérêt, telles que les zones de chevauchement potentielles.
  3. Si aucun des autres travaux, vous pouvez spatialement sous-échantillonner les images en utilisant imresample, et travailler sur les images plus petites résultant.
2
  1. Déterminer la taille de la mosaïque finale avant la couture (facile à calculer la taille de vos images d'entrée et l'homographie).
  2. Ecrivez une mosaïque vierge dans un fichier (pas dans un format spécifique mais dans une séquence d'octets comme dans la mémoire)
  3. Je suppose que vous faites une correspondance inverse entre les pixels des images d'origine et la mosaïque. Alors, écrivez simplement dans le fichier lorsque vous essayez de stocker l'intensité du pixel dans votre mosaïque.
Questions connexes