在 MATLAB 创建的 GUI 中显示编辑后的图片时出现问题
我有一个使用 MATLAB GUIDE 创建 GUI 的作业,但在显示编辑后的图片时遇到问题。 我需要有编辑图片的按钮(例如,删除红色、蓝色、绿色组件并旋转)并显示编辑后的图片。 我正在使用 imshow
来显示编辑后的图片,但它显示在新窗口中并关闭我正在运行的 GUI。 有人可以帮忙吗?
我一直在研究这个问题,并尝试了多种不同的方法来解决这个问题,但没有任何效果。 但是,我使用的是 MATLAB 7.0.1,7.7.0 可能有针对此问题的更新。
I have an assignment to create a GUI using MATLAB GUIDE and am having a problem with displaying an edited picture. I need to have buttons that edit the picture (eg. remove red, blue, green components and rotate) and display that edited picture. I am using imshow
to display the edited picture but it displays in a new window and shuts down the GUI I had running. Can anyone help?
I've been working on this and have tried numerous different ways of fixing the problem but none worked. However, I am using MATLAB 7.0.1, and 7.7.0 might have an update for this problem.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您第一次使用
imshow
,让它返回它创建的图像对象的句柄:然后,要使用新数据更新图像,请尝试以下操作,而不是再次调用
imshow
:使用
set
命令将更改您已经创建的图像对象(图像列表对象属性可以在此处找到。或者,您还可以在对
imshow
的调用中添加其他参数,以告诉它在哪个轴对象中绘制图像:编辑:
解决在之间共享 GUI 数据的其他问题函数,您应该在此处查看 MATLAB 文档。 如前所述,有几种不同的方法可以在 GUI 中涉及的不同函数之间传递数据:嵌套函数(在 SO 此处),使用对象的“UserData”属性(在SO 此处中提到),或使用函数
setappdata
/getappdata
或guidata
。guidata
选项可能最适合与 GUIDE 中制作的 GUI 一起使用。When you first plot the image with
imshow
, have it return a handle to the image object it creates:Then, to update the image with new data, try the following instead of calling
imshow
again:Using the
set
command will change the image object you already created (a list of image object properties can be found here).Alternatively, you can also add additional parameters to a call to
imshow
to tell it which axes object to plot the image in:EDIT:
Addressing your additional problem of sharing GUI data between functions, you should check out the MATLAB documentation here. As noted there, there are a few different ways to pass data between different functions involved in a GUI: nesting functions (mentioned on SO here), using the 'UserData' property of objects (mentioned on SO here), or using the functions
setappdata
/getappdata
orguidata
. Theguidata
option may be best for use with GUIs made in GUIDE.GUI m 文件函数自动将图像数据分配给名为
hObject
的变量。 完成图像更改后,您必须将新数据重新分配给hObject
:不要忘记通过以下方式更新并保存此操作:
The GUI m file functions automatically assign the image data to a variable called
hObject
. Once you have done your image alteration, you have to reassign the new data tohObject
:Don't forget to update and save this operation by: