1.图像几何变换
将一幅图像先向左平移100像素、再缩小一倍、接着垂直镜像变换、最后旋转45度。
2. 对二值图像(图1)分别进行腐蚀、膨胀和开、闭运算操作,观察和总结各种操作的特点;变换下结构元素类型和尺寸再试试。最后看看如何操作可得到质量最好的指纹图片。
图1:
3.对一幅灰度图像(图2)分别进行腐蚀、膨胀和开、闭运算操作,观察和总结各种操作的特点;变换下结构元素类型和尺寸再试试。最后看看如何操作去除噪声的效果最好。
图2:
clc
clear;
I=im2double(imread('Hydrangeas.jpg'));
subplot(121)
imshow(I);title('原图')
H=size(I);
I_res=ones(H);
I_res(1:H(1),1:H(2)-100,1:H(3))=I(1:H(1),1:H(2)-100,1:H(3));%图像向左平移100个像素
I_res=imresize(I_res,0.5,'nearest');%缩小一倍
H=size(I_res);
I_res(1:H(1),1:H(2),1:H(3))=I_res(H(1):-1:1,1:H(2),1:H(3));%垂直镜像变换
I_res=imrotate(I_res,45,'nearest');%逆时针旋转45度
subplot(122)
imshow(I_res);title('处理后的图像')
clc
clear
I=imread('finger.jpg');
figure(1);imshow(I)
s=ones(3,3);%创建一个3*3方形结构元素
I1=imerode(I,s);
figure(2)
subplot(141);imshow(I1);title('erode腐蚀')
I2=imdilate(I,s);
subplot(142);imshow(I2);title('dilate膨胀')
I3=imclose(I,s);
subplot(143);imshow(I3);title('close闭运算')
I4=imopen(I,s);
subplot(144);imshow(I4);title('open开运算')
%%
clc
clear
I=imread('peak.jpg');
Se=strel('disk',3);%创建一个半径为5的圆盘型结构元素
figure(3)
imshow(I)
title('初始')
bw2=imopen(I,Se);
figure(1)
subplot(141)
imshow(bw2)
title('open')
bw3=imclose(I,Se);
subplot(142)
imshow(bw3)
title('close')
bw4=imerode(I,Se);
subplot(143)
imshow(bw4)
title('erode')
bw5=imdilate(I,Se);
subplot(144)
imshow(bw5)
title('dilate')
bw6=imclose(bw2,Se);
figure(2)
subplot(121)
imshow(bw6);title('先open再close')
bw7=imopen(bw3,Se);
subplot(122)
imshow(bw7);title('先close再open')
%%
clc
clear
I=imread('face.jpg');
I=im2bw(I,0.6);
Se=strel('disk',2);
figure(1)
subplot(131)
imshow(I);title('原图')
subplot(132)
bw5=imdilate(I,Se);
imshow(bw5);title('dilate')
title('dilate')
subplot(133)
imshow(bw5-I);title('膨胀后的图像减原图')
结构元素产生方式一:结构元素产生函数strel:
Se=strel(shape,parameters)
其中,shape是指定希望类型的字符串,而parameters是指定形状信息(如其大小)的一系列参数。例如,strel(‘disk’,5) 将创建一个半径为5的圆盘型结构元素。
结构元素产生方式二:直接构造矩阵
s3=ones(3,3); % 3*3的方形结构函数