getimage problem
4 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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.)
More Answers (0)
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!