chu_qiu 发表于 2006-8-25 20:57

请问Happy?——图片显示重叠问题。

我在GUI的菜单栏建了“图片显示”项,目的是要在GUI中显示图像,显示的图像边上有个“下一幅”按钮,按一下按钮显示另一幅图像。这里出现了问题:第二幅图直接覆盖在第一幅上,第一幅图像没有清除,出现了重叠现象。

图像显示的语句为:

cd(pic_directory_name);
IM=imread(key_filename);
h=axes('position',);
imshow(IM);

请问我该怎样把原先的图片先清除掉?不要出现重叠。

谢谢!

happy 发表于 2006-8-25 21:36

cla

chu_qiu 发表于 2006-8-29 20:44

Happy再问?——呵呵

如果我要同时刷新很多图片,用cla好象不行。(感觉cla只清楚上一个axes的图片)

for y=0.62:-0.22:0.18
    for x=0.03:0.2:0.83
      if t<=n
            h=axes('position',);
            k=sort(1,t);
            IMY=imread(picturename(k).name);
            imshow(IMY);
            t=t+1;
      end
    end
end

我应该怎样该代码呢?

chu_qiu 发表于 2006-8-29 21:14

??? Undefined function or variable 'CBIR'.

??? Error while evaluating uicontrol Callback.

'CBIR’是我建立的GUI和对应M文件的名字,错误是我按了单选按钮或显示下一幅图片pushbutton1是显示的,

对此一点头绪都没有。只能先请教高手?

eight 发表于 2006-8-29 21:17

y=0.62;
x=0.03;
h=axes('position',);
IMY=imread('football.jpg');
imshow(IMY);
pause;

cla;
y=0.5;
x=0.03;
h=axes('position',);
IMY=imread('trees.tif');
imshow(IMY);
pause;

cla;
y=0.2;
x=0.03;
h=axes('position',);
IMY=imread('cameraman.tif');
imshow(IMY);


以上代码直接运行,每显示一个图像停留一次,用户按任意键后显示下一个图像,并清除上一个图像,你自己参考一下吧

chu_qiu 发表于 2006-8-29 21:34

谢谢!

不过能不能不pause啊!!?

想一次全部显示,因为要显示的图片一面要几十幅的...

eight 发表于 2006-8-29 21:37

原帖由 chu_qiu 于 2006-8-29 21:34 发表
不过能不能不pause啊!!?

想一次全部显示,因为要显示的图片一面要几十幅的...

这个小问题拉,我所用的pause就相当于next button的功能,你删掉pause就可以了

chu_qiu 发表于 2006-8-29 21:44

呵呵,恩!这个问题也帮忙看看哈。

??? Undefined function or variable 'CBIR'.

??? Error while evaluating uicontrol Callback.

'CBIR’是我建立的GUI和对应M文件的名字,错误是我按了单选按钮或显示下一幅图片pushbutton1是显示的,

对此一点头绪都没有

happy 发表于 2006-8-30 20:00

原帖由 chu_qiu 于 2006-8-29 21:44 发表
呵呵,恩!这个问题也帮忙看看哈。

??? Undefined function or variable 'CBIR'.

??? Error while evaluating uicontrol Callback.

'CBIR’是我建立的GUI和对应M文件的名字,错误是我按了单选按钮或显示 ...

路径对不对?你which CBIR看看

bainhome 发表于 2006-8-31 01:57

1.以下我认为是“同时”刷新的正解,在同一个figure上思路也一样:
function ClaFig
clc
close all
=imread('MATLABfig.jpg');
=imread('sphere.jpg');
=imread('surf1.jpg');
hFig1=figure;
hImage1=imshow(X1);
hFig2=figure;
hImage2=imshow(X2);
hFig3=figure;
hImage3=imshow(X3);
hImage=;
delete(hImage)
另外用position找轴的思路不科学,把所有句柄都找到统一处理是正路,也没那么多毫无必要的循环。
2.??? Undefined function or variable 'CBIR'.
??? Error while evaluating uicontrol Callback.
这一般是回调函数和主函数通信时参数传递错误造成的,happy所说的情况我认为可能性不大,新手一般都是把相应的文件放在一个目录下的,他们不习惯用cd和mkdir命令。不会东放一个西放一个文件,战战兢兢尚且出错,何况如此出格。^_^

chu_qiu 发表于 2006-9-7 19:49

问题解决了

谢谢happy和bainhome的指导,尤其是bainhome得解答,两个问题都解决了,非常感谢!

我的毕业论文试验快做完了,这段时间多亏了振动论坛的帮助,谢谢大家!
页: [1]
查看完整版本: 请问Happy?——图片显示重叠问题。