getimage problem

3 visualizzazioni (ultimi 30 giorni)
Razvan
Razvan il 3 Set 2011
Hi, I would like to use getimage or some other function to capture the current figure which has for example an image + a line drawn on top of it. I tried
imshow rice.png
hold on
line([1 256],[1 256]);
hold off
Im = getimage;
but it doesn't capture the line. Please tell me how it the right way to do this.
Thanks. Razvan

Risposta accettata

Walter Roberson
Walter Roberson il 3 Set 2011
See getframe()
You should also become familiar with saveas() and print(), and if you start doing anything more complex, you should become familiar with the user contribution export_fig
  3 Commenti
Razvan
Razvan il 5 Set 2011
Is it a way to use getframe with a figure which is not visible (after using set(figHandle, 'Visible', 'off')) ? I would like to get the frames of a movie without displaying the movie, and without saving the movie (without |addframe|). Thanks in advance!
Walter Roberson
Walter Roberson il 6 Set 2011
No, there is no way to getframe() a figure which is not visible.
Capturing frames without displaying them is not easy on Windows, but I seem to recall that someone has a MATLAB File Exchange contribution that helps. And Yair probably has something relevant in his undocumentedmatlab site.
The particular case that you show above, of loading an image and drawing a line parallel to an axis, I would just do all in memory without displaying the images at all: if you have an image, then it is relatively easy to convert the image to truecolor (if it isn't already) and then to set a row or column of the matrix all to a particular value (to create the line.)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Printing and Saving in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by