2010-07-14 6 views
2

Imaginez que vous tracez plusieurs points, cercles, lignes dans une figure. Ensuite, un autre fichier m devrait utiliser ce tracé comme une entrée à faire par exemple. seuillage. Je suis au courant de la commande d'impression mais je ne veux pas que l'intrigue soit stockée en tant que fichier. Je préférerais le stocker dans une matrice (x_dim, y_dim, 3). Des idées?Enregistrer une parcelle dans Matlab comme une matrice

Répondre

2

Vous devez vérifier les fonctions getframe et frame2im pour convertir un objet figure ou axes en une matrice d'image.

+0

GETFRAME & FRAME2IM semblent avoir la fonctionnalité que je recherchais. Malheureusement, la résolution saisie est extrêmement mauvaise. Taille de l'image originale où j'ai fait l'intrigue est 2048x4096. Après GETFRAME et FRAME2IM, la résolution est de 513x1025! Une idée pourquoi? –

+0

@Josef St .: La fonction GETFRAME capture ce que vous voyez à l'écran dans la fenêtre graphique. Si vous tracez une image (en utilisant, disons, la commande IMAGE), l'image peut être réduite pour s'adapter à la fenêtre graphique, et lorsque la fenêtre graphique est capturée par GETFRAME, vous obtenez une image plus petite qu'avant. Vous devriez vérifier ces questions SO connexes: http://stackoverflow.com/questions/1848176/how-do-i-save-a-plotted-image-and-maintain-the-original-image-size-in-matlab , http://stackoverflow.com/questions/575475/how-can-i-save-an-altered-image-in-matlab – gnovice

0

Que diriez-vous de sauvegarder dans une image? Vous pouvez utiliser getframe pour obtenir un objet cadre F, où F.cdata contient les valeurs RVB. N'oubliez pas d'utiliser l'option 'border', 'tight' pour éviter de capturer les bordures.

Questions connexes