matlab - MATLAB GUI 句柄
问题描述
我对在 Matlab 回调函数中使用“句柄”有疑问。我不知道如何使用相同的东西两次。请帮我。
所以,我建立了 Matlab GUI,我有上传图像的回调函数:
function pushbutton2_Callback(hObject, eventdata, handles)
handles = guidata(hObject);
[filename pathname]=uigetfile({'*.jpg';'*.bmp'},'File Selector');
image=strcat(pathname, filename)
handles.data1=imread(image)
axes(handles.axes1);
imshow(handles.data1);
set(handles.edit1,'string',filename)
set(handles.edit2,'string',pathname)
guidata(hObject, handles);
,并且我有将相同图像转换为“灰度”的回调函数:
function Gray_Callback(hObject, eventdata, handles)
handles = guidata(hObject);
axes(handles.axes2);
img=handles.data1;
x=imread(img);
y=rgb2gray(x); %function to convert an rgb image to gray scale
imshow (y)
guidata(hObject, handles);
,但它不起作用。
有谁知道我做错了什么?
解决方案
你的第一个功能说
handles.data1=imread(image)
然后你的第二个功能说
img=handles.data1;
x=imread(img);
由于img
包含图像数据,而不是文件名,这是什么imread(img)
意思?
我想你想在img
这里直接使用图像数据,根本不使用imread
。
推荐阅读
- javascript - 下拉列表选择中的 JavaScript 属性值
- java - 写一个合适的二叉树高度函数?
- webgl - 360 度查看器嵌入到第二个 360 度查看器中
- php - 无需键入扩展名即可访问 PHP 文件,但也允许文件夹默认为 index.php
- python - 如何将 Django GenericRelation 限制为一个相关对象
- vba - Excel VBA日期时间自动添加
- git - Git 忽略 public/index.html
- eclipse - 在eclipse中查看git中的文件变化
- javascript - TypeError:无法读取 JSON 上未定义 Ajax 调用的属性“值”
- vb.net - VB.NET 中的 MagSetImageScalingCallback 定义?