getimage problem

4 views (last 30 days)
Razvan
Razvan on 3 Sep 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

Accepted Answer

Walter Roberson
Walter Roberson on 3 Sep 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 Comments
Razvan
Razvan on 5 Sep 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 on 6 Sep 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.)

Sign in to comment.

More Answers (0)

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!