getimage problem

3 visualizaciones (últimos 30 días)
Razvan
Razvan el 3 de Sept. de 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

Respuesta aceptada

Walter Roberson
Walter Roberson el 3 de Sept. de 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 comentarios
Razvan
Razvan el 5 de Sept. de 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 el 6 de Sept. de 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.)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Printing and Saving en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by