图片不能在坐标轴显示而且自己编的界面在图片显示后自动变了
我自己用guide作了一个界面,在file菜单中的open选项中,我要实现的功能是把用户选择的图片显示在坐标轴上,这个坐标轴的Tag属性我已经设成了figtag.源代码如下:function openbut_Callback(hObject, eventdata, handles)
= uigetfile('*.raw', 'Pick an raw-fig');%打开对话框
if isequal(filename,0) || isequal(pathname,0)
return
else
f= fullfile(pathname, filename);
handles.nampath=f;
end
fid=fopen(handles.nampath,'r');%这是打开RAW后缀格式的图片,所以不能用imread
Data = fread(fid,,'uchar');
handles.data=Data;%这一段是把图像的数据保存在handles结构体中
fclose(fid);
axes(handles.figaxes);%本来这一句应该是能保证图片在指定坐标轴中显示的????????
imshow(Data,);
guidata(hObject, handles);
运行时出现了三个问题,
一是MATLAB总是自动新开一个figure窗口,然后在这个窗口中显示图片;
二是同时我自己编的那个GUI界面自动变成了MATLAB默认的那种figure窗口,
三是命令窗口总是显示下面的错误信息
Error using ==> guidata
H must be the handle to a figure or figure descendent.
Error in ==> comdecom2>openbut_Callback at 127
guidata(hObject, handles);
图片显示在附件中.
[ 本帖最后由 cc2005726 于 2009-1-2 22:28 编辑 ] 我和你做的界面差不多,可以互相交流,我是刚刚开始学。
回复 板凳 huxuemin2008 的帖子
我用M文件已经做出来了,但是还不知道用GUIDE时为什么会有这种错误 LZ解决了吗? 若解决了, 建议与大家分享你的成果个人以为会不会是imshow的原因, 可否试试其他方式, 如imagesc ..., 但没得试, 个人不确定
回复 地板 ChaChing 的帖子
我刚找了下原来解决时用的M文件,但没找到。然后我自己随便又做了个界面,实现类似的功能,同样的代码居然运行通过了,真是奇怪啊。要是没有ChaChing回复又让我注意到这个帖的话,我还真没想到会变成这样
[ 本帖最后由 cc2005726 于 2009-12-14 21:50 编辑 ]
回复 5楼 cc2005726 的帖子
若可以的话, 建议给齐全些与大家分享你的成果!回复 6楼 ChaChing 的帖子
好的,其实程序并没有并,还是我在一楼帖的那些。在button\的callback属性里填上如下代码:function openbut_Callback(hObject, eventdata, handles)
= uigetfile('*.raw', 'Pick an raw-fig');%打开对话框
if isequal(filename,0) || isequal(pathname,0)
return
else
f= fullfile(pathname, filename);
handles.nampath=f;
end
fid=fopen(handles.nampath,'r');%这是打开RAW后缀格式的图片,所以不能用imread
Data = fread(fid,,'uchar');
handles.data=Data;%这一段是把图像的数据保存在handles结构体中
fclose(fid);
axes(handles.figaxes);%本来这一句应该是能保证图片在指定坐标轴中显示的????????
imshow(Data,);
guidata(hObject, handles);
raw格式的图片传不上来,所以各位可以把上述程序中的raw改成jpg试下,是一样的
[ 本帖最后由 cc2005726 于 2009-12-15 09:51 编辑 ]
页:
[1]