一、实验任务1:静态文本、编辑框、按钮的使用
function pushbutton1_Callback(hObject, eventdata, handles)
a = get(handles.edit1,'String');
b = get(handles.edit2,'String');
total = str2num(a) + str2num(b);
c = num2str(total);
set(handles.text4,'String',c);
guidata(hObject, handles);
实验任务2:轴控件的使用
function pushbutton1_Callback(hObject, eventdata, handles)
fd = get(handles.edit1,'String')
axes(handles.axes1);
f1 = ezplot(fd);
col = get(handles.edit2,'String')
set(f1,'Color',col);
wid = get(handles.edit3,'String')
set(f1,'LineWidth',str2num(wid));
grid on;
分别输入:sin(x),cos(x),sin(x)/x,exp(2*x),u^2-v^2,以及颜色和线宽,绘制图形
function pushbutton1_Callback(hObject, eventdata, handles)
(1)读入与显示图像
imdata=imread('lena.bmp');
imshow(imdata)
imdata1=imread('lena.jpg');
figure
imshow(imdata1)
(2)读入与显示指定灰度范围内图像
figure(2)
imshow(imdata,[64,128])
(3)显示颜色条
figure(3)
imshow(imdata1)
colorbar
(4)显示子图像
figure(4)
subplot(121);
subimage(imdata);
subplot(122);
subimage(imdata1);
2.图像的几何运算
(1)旋转图像
function pushbutton2_Callback(hObject, eventdata, handles)
global imdata;
J1=imrotate(imdata,-45,'bicubic');
J2=imrotate(imdata,45,'bilinear','crop');
J3=imrotate(imdata,45,'bilinear','loose');
subimage(J1);
(2)缩放图像
function pushbutton3_Callback(hObject, eventdata, handles)
global imdata;
J1=imresize(imdata,0.2);
J2=imresize(J1,15,'bicubic');
J3=imresize(J1,15,'bilinear');
figure
subplot(221);subimage(imdata);
subplot(222);
subimage(J1);
subplot(223);subimage(J2);
subplot(224);subimage(J3);
(3)裁剪图像
function pushbutton4_Callback(hObject, eventdata, handles)
global imdata;
I2=imcrop(imdata,[75 68 130 112]);
figure
subplot(121);subimage(imdata);
subplot(122);
subimage(I2);
3.图像直方图
(1)显示直方图
function pushbutton5_Callback(hObject, eventdata, handles)
global imdata;
figure
subplot(121);subimage(imdata);
subplot(122);
imhist(imdata);
(2)直方图均衡化
function pushbutton6_Callback(hObject, eventdata, handles)
global imdata;
J=histeq(imdata);
figure
subplot(221);subimage(imdata);
subplot(222);
imhist(imdata)
subplot(223);subimage(J);
subplot(224);imhist(J);
4.图像滤波
中值滤波
function pushbutton7_Callback(hObject, eventdata, handles)
global imdata;
G1=imnoise(imdata,'salt & pepper',0.01);
K1=medfilt2(G1);
G2=imnoise(imdata,'gaussian',0.01);
K2=medfilt2(G1);
figure
subplot(231);subimage(imdata);
subplot(232);
subimage(G1);
subplot(233);subimage(K1);
subplot(234);subimage(imdata);
subplot(235);subimage(G2);
subplot(236);subimage(K2);
均值滤波
function pushbutton8_Callback(hObject, eventdata, handles)
global imdata;
G1=imnoise(imdata,'salt & pepper',0.01);
K1=filter2(fspecial('average',3),G1)/255;
G2=imnoise(imdata,'gaussian',0.01);
K2=filter2(fspecial('average',3),G2)/255;
figure
subplot(231);subimage(imdata);
subplot(232);
subimage(G1);
subplot(233);subimage(K1);
subplot(234);subimage(imdata);
subplot(235);subimage(G2);
subplot(236);subimage(K2);
5.图像分割
function pushbutton9_Callback(hObject, eventdata, handles)
global imdata;
level=graythresh(imdata);
BW=im2bw(imdata,level);
figure
subplot(121);subimage(imdata);
subplot(122);
subimage(BW);
6.图像灰度均值、中值、标准差、方差
均值
>> imdata=imread('lena.bmp');
>> mean(mean(imdata))
ans =
123.5448
中值
>> imdata=imread('lena.bmp');
>> imdata=double(imdata);
>> median(median(imdata))
ans =
140
标准差
>>
imdata=imread('lena.bmp');
imdata=double(imdata);
std(std(imdata))
ans =
12.6371
方差
imdata=imread('lena.bmp');
imdata=double(imdata);
var(var(imdata))
ans =
8.3523e+05
7.在GUI中完成图像处理功能
加载图像按钮:
function pushbutton1_Callback(hObject, eventdata, handles)
旋转图像按钮:
function pushbutton2_Callback(hObject, eventdata, handles)
缩放图像按钮:
function pushbutton3_Callback(hObject, eventdata, handles)
GUI.zip_GUI静态文本_按钮文本框_轴控件的使用_静态文本、编辑框、按钮的使用
版权申诉
52 浏览量
2022-09-23
19:22:21
上传
评论
收藏 1KB ZIP 举报
小贝德罗
- 粉丝: 69
- 资源: 1万+
评论0