闹鬼的代码(严重)

4次观看(过去30天)
朱迪杨
朱迪杨 20月7日
我知道这可能听起来像个笑话,但我保证我完全是严肃的。我想通过说我不需要帮助修复这个代码来前言,我已经重写了它,它现在正常工作。我只是想看看有人是否知道为什么会发生这种情况,或者如果它发生在别人身上
我一直在尝试创建一个GUI,在其中我可以单击一个按钮,用它来选择图像,然后在轴上显示该图像。一切顺利,但是当我去测试代码时(如下),那些在角落里装满了一个小的蓝色方形。看起来靠近那个盒子,我发现有一个似乎是一个年轻男孩微笑的形象(下面的3张图片显示他出现在2种不同的图像上,然后一个放大在他身上)。他出现在我尝试过各种尺寸的每个图像上。我99%,这不是我本地存储中的图像;我的设备是全新的,我不能因为为什么我有这样的图像保存在某处。
%---在LoadButton中执行按钮。
功能loadbutton_callback(fhref,eventdata,handles)
%frefle handle加载button(见GCBO)
%EventData保留 - 在未来版本的MATLAB中定义
%处理手柄和用户数据的结构(见Guidata)
[filename,path] = UigetFile('* .jpg''选择一个图像'
fullfilename = fullfile(path,filename)
image = imread(fullfilename);
图像(图像,'父母',手柄.Image);
set(handles.image,'可见的');
imshow(图片);
如果有人有任何想法,请告诉我。
3评论
斯蒂芬Cobeldick.
这是默认图像。看:
由于这种多余的代码线,它在轴上显示:
imshow(图片);
你打电话的地方 图片 没有输入参数,因此它显示了默认图像。解决方案:摆脱那条线。

登录评论。

接受答案

汤米
汤米 20月7日
编辑:汤米 20月7日
这是默认图像颠倒过来。您可以通过打电话来查看它
>>图像
你打电话时
imshow(图片);
Matlab首先评估 图片 并显示当前轴中的默认图像。我相信然后试图打电话 imshow() 在输出 图片 ,这是一个图像对象,因此它应该抛出错误(它为我做)。您将在角落中看到蓝色的孩子(和错误),其中三行:
image = imread('pears.png');
图像(图像);
imshow(图片);
实际上是首先用呼叫绘制图像 图片() - 您不需要第三行。
我假设 手柄.Image. 应该是您正在绘制图像的轴。这对它怎么样?
image = imread(fullfilename);
图像(手柄.image,图像);%或,imshow(图像,'父',斧头);如果你愿意
(编辑)和它是 不只是一个男孩 :)
1条评论
朱迪杨
朱迪杨 20月7日
复活节蛋帖非常有趣,谢谢!我认识了很多你所提到的和已经固定的代码,所以你不需要请他帮我解决,但感谢你太担心其他的东西。

登录评论。

更多答案(0)

类别

标签

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!