Save just image (and not full figure) in a loop without needing user input

1 回表示 (過去 30 日間)
David
David 2011 年 3 月 14 日
Hi all,
I'm working on a program which generates lots of figures/images in a for-loop. As I want to creat up to 1000 images I would like to avoid any user input when saving the images (I just want the program to run).
My problem is that I do only want to save the image and not the full figure. With imsave I can save an image (after being asked to specify the file-name myself for each loop), with saveas I can save all figures withtout user input (just with an updated string) but not just the image. How could I combine this so that I end up with a command which saves just a (tiff)-image from the generated plot/figure without needing a user input every time?
My code for the loop is as follows (with lcn as given 3D array):
for slice = 1:100; h = imagesc(squeeze(lcn(slice,:,:))); name = num2str(slice) saveas(h,slice,'tif') end
/David

採用された回答

Sean de Wolski
Sean de Wolski 2011 年 3 月 14 日
h is a handle to the figure and a scalar value. What you want is
for ...
name = ...
imwrite(squeeze(lcn(slice,:,:)),name,'tif');
end

その他の回答 (3 件)

Laura Proctor
Laura Proctor 2011 年 3 月 14 日
  1 件のコメント
David
David 2011 年 3 月 14 日
Dear Laura,
I tried to implement imwrite but I'm just getting blank images. Do you know what I could be doing wrong?
Ex:
for slice = 1:100;
h = imagesc(squeeze(lcn(slice,:,:)));
string = num2str(iter);
string2 = '.tif'
name = [string string2];
imwrite(h,name,'tif')
end

サインインしてコメントする。


David
David 2011 年 3 月 14 日
Sorry, but I'm just inserting my comment as an answer to keep the discussion going. Thanks again. /David ----------------------------------------------------- Dear Laura,
I tried to implement imwrite but I'm just getting blank images. Do you know what I could be doing wrong?
Ex:
for slice = 1:100; h = imagesc(squeeze(lcn(slice,:,:))); string = num2str(iter); string2 = '.tif' name = [string string2]; imwrite(h,name,'tif') end
/David

David
David 2011 年 3 月 15 日
Well, the answer was actually as simple as that! imagesc is a handle to the figure or image being plotted!
Using your solution Sean works perfectly fine! Thanks for all the help!
All the best /David
  1 件のコメント
Jan
Jan 2011 年 3 月 15 日
Does this mean, that you accept his answer? Then please hit the corresponding button to mark this question as solved.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by