function median_fliter_Callback(hObject, eventdata, handles) % hObject handle to median_fliter (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global T axes(handles.axes2); T=getimage; if isrgb(T)==1 msgbox('不适用于RGB图像!','警告','error'); else p=inputdlg({'模板矩阵维数:'},'输入',1,{'3'}); if isempty(p)==1 %errordlg('没有输入!','error'); return else p=str2num(p{1}); I=im2double(T); I=medfilt2(I, [p,p]);%中值均值 axes(handles.axes1); imshow(T); axes(handles.axes2); imshow(I); end end
时间: 2024-02-29 22:57:07 浏览: 128
这是一个 MATLAB GUI 中的回调函数,用于对图像进行中值滤波,并在 GUI 界面上显示滤波前后的图像。
函数的基本流程如下:
1. 获取当前 GUI 界面中的图像 T,使用 `getimage` 函数获取。
2. 判断图像是否为 RGB 图像,如果是,弹出警告对话框,并返回;否则继续执行。
3. 弹出输入对话框,让用户输入模板矩阵的维数 p。
4. 如果用户没有输入,则直接返回;否则将用户输入转换为数值类型。
5. 将图像 T 转换为双精度型,并使用 `medfilt2` 函数对图像进行中值滤波,滤波模板的大小为 [p,p]。
6. 在 GUI 界面的 axes1 中显示原始图像 T,使用 `imshow` 函数。
7. 在 GUI 界面的 axes2 中显示滤波后的图像 I,使用 `imshow` 函数。
需要注意的是,该函数中使用了 `global` 关键字,表示 T 和 axes2 是全局变量,可以在其他函数中访问。函数中使用了 `isrgb` 函数判断图像是否为 RGB 图像。同时,函数中调用了 `medfilt2` 函数对图像进行中值滤波,并使用 `imshow` 函数在界面上显示原始图像和滤波后的图像。
相关问题
% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %% 二值图像处理 global recImg; global I; global adjI; global nbwI; global img_reg; img=rgb2gray(adjI);%转换灰度图像 img_median=medfilt2(img);%中值滤波去除噪声 a=1.1;b=-500; adjI=a.*img_median+b/255; %增强对比度 bwI=im2bw(adjI); se= strel('disk',2); bwI=imerode(bwI,se) nbwI=not(bwI) [bwI_wide bwI_heigh]=size(nbwI); axes( handles.axes2); imshow(nbwI);
这段代码是一个MATLAB GUI中的按钮回调函数,当按钮被点击时执行。在这段代码中,进行了一系列的图像处理操作,并在GUI中的axes2中显示结果。
首先,将图像adjI转换为灰度图像,并使用medfilt2函数进行中值滤波以去除噪声。然后,根据指定的参数a和b对图像进行对比度增强操作,得到增强后的图像adjI。
接下来,使用im2bw函数将adjI转换为二值图像bwI。然后,使用strel函数创建一个半径为2的圆形结构元素,并使用imerode函数对bwI进行腐蚀操作。接着,使用not函数对bwI取反,得到nbwI。
最后,获取nbwI的尺寸,并将其显示在GUI中的axes2中。
请注意,这段代码中涉及到的变量和GUI部件(例如handles.axes2)需要根据你的实际情况进行修改和补充。
如果你有任何进一步的问题,请随时提问。
阅读全文