displaying images on axes in MATLAB
6 ビュー (過去 30 日間)
古いコメントを表示
I have a GUI with 5 axes in it, where images which are stored in text file(notepad) are displayed. Images in text file are not static, it keeps updating with new ones. I mean for first search images are different and after closing all windows again if i run same program for next search different images may get saved in notepad.
function displayResults(filename, header)
figure('Position',[200 100 700 400], 'MenuBar', 'none', 'Name', header, 'Resize', 'off', 'NumberTitle', 'off');
% Open 'filename' file... for reading...
fid = fopen(filename);
for N=1:5
imagename = fgetl(fid);
if ~ischar(imagename), break, end % Meaning: End of File...
(x) = imread(imagename);
axes(handles.axesN);
imshow(fname);
xlabel(imagename);
end
fclose(fid);
filename is text file
I need to fit these images on all 5 axes, but I'm getting error like undefined variable handles.axesN How can i go for it?
1 件のコメント
Jan
2013 年 4 月 29 日
The question is not clear to me. You have posted the code 3 times now, but this does not increase the chance to understand it.
回答 (2 件)
Jan
2013 年 4 月 27 日
編集済み: Jan
2013 年 4 月 27 日
What do you expect "handles.axesN" to be? perhaps you want:
axes(handles.(sprintf('axes%d', N)));
7 件のコメント
Babatunde Otaru
2016 年 3 月 1 日
編集済み: Babatunde Otaru
2016 年 3 月 1 日
Hi Guys, any update on this? I am having this same error. My code snippet below:
axes(handles.axesTagName);
imshow(theImage)
Image Analyst
2016 年 3 月 1 日
For his function displayResults(), handles was not passed in to the function so the function cannot see it. You'd need to pass in handles via the input argument list in order to use it inside the function.
handles is not a global variable that is automatically seen by all functions in the m-file, so if you want to use it, you must pass it in.
Image Analyst
2013 年 4 月 28 日
There are only 5, so get rid of the loop and just do it explicitly
% Read in image 1
theImage = imread(filename);
axes(handles.axes1);
imshow(theImage);
% Read in image 2
theImage = imread(filename);
axes(handles.axes2);
imshow(theImage);
and so on.
I suggest you use fullfile(), and exist(filename, 'file') to construct the full filename (folder + base filename + extension) and check to see that it actually exists.
参考
カテゴリ
Help Center および File Exchange で Migrate GUIDE Apps についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!