代数和几何运算1.docx
- 文档编号:25416515
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:15
- 大小:17.58KB
代数和几何运算1.docx
《代数和几何运算1.docx》由会员分享,可在线阅读,更多相关《代数和几何运算1.docx(15页珍藏版)》请在冰豆网上搜索。
代数和几何运算1
1代数运算:
加噪声
I=imread('eight.tif');
J1=imnoise(I,'gaussian',0,0.02);
J2=imnoise(I,'salt&pepper',0.02);
J3=imnoise(I,'speckle',0.02);
subplot(2,2,1),imshow(I),title('原图像');
subplot(2,2,2),imshow(J1),title('加高斯噪声');
subplot(2,2,3),imshow(J2),title('加椒盐噪声');
subplot(2,2,4),imshow(J3),title('加乘性噪声');
代数运算:
相加:
A=imread('rice.png');
B=imread('testpat1.png');
C=imadd(A,B);
subplot(1,3,1),imshow(A);subplot(1,3,2),imshow(B);subplot(1,3,3),imshow(C)
A=imread('cameraman.tif');
B=A+50;
C=A-50;
subplot(1,3,1),imshow(A);subplot(1,3,2),imshow(B);subplot(1,3,3),imshow(C)
相加去噪声
I=imread('rice.png');
I1=imnoise(I,'gaussian',0,0.005);%添加高斯噪声
I2=imnoise(I,'gaussian',0,0.005);
I3=imnoise(I,'gaussian',0,0.005);
I4=imnoise(I,'gaussian',0,0.005);
K=imlincomb(0.25,I1,0.25,I3,0.25,I4);%线性组合
subplot(2,2,1);imshow(I);
subplot(2,2,2);imshow(I1);
subplot(2,2,3);imshow(K,[]);
2几何运算:
平移
I=imread('cameraman.tif');
se=translate(strel
(1),[2525]);
J=imdilate(I,se);
imshow(I),title('Original')
figure,imshow(J),title('Translated');
旋转
I=imread('rice.png');
J=imrotate(I,30,'bilinear');
imshow(I);title('原图像')
figure,imshow(J),title('旋转后的图像')
缩放
I=imread('rice.png');
J=imresize(I,2,'bilinear');
subplot(1,2,1),imshow(J)
J1=imresize(I,2,'nearest');
subplot(1,2,2),imshow(J1)
I=imread('autumn.tif');
R=I(:
:
1);
G=I(:
:
2);
B=I(:
:
3);
figure,imhist(R);
title('R');
figure,imhist(G);
title('G');
figure,imhist(B);
title('B');
图像增强:
1.点运算
I=imread('rice.png');%读取图像
subplot(2,2,1),imshow(I)%输出图像
title('原始图像')%在原始图像中加标题
fori=1:
256
forj=1:
256
K(i,j)=log10(double(I(i,j)))*80;
end
end
J=uint8(K);
subplot(2,2,3),imshow(J);
title('线性变换图象');
I=imread('pout.tif');
imshow(I);
J=imadjust(I,[0.30.7],[01],1); %transformsthewaluesinthe%intensityimageItovaluesinJbylinealymapping%valuesbetween0.3and0.7tovaluesbetween0and1.
figure;
imshow(J);
RGB1=imread('football.jpg');
RGB2=imadjust(RGB1,[.2.30;.6.71],[]);
subplot(2,1,1);imshow(RGB1),subplot(2,1,2);imshow(RGB2)
显示直方图
1.
clearall;closeall;
I=imread('pout.tif');
figure;
subplot(121);
imshow(uint8(I));
subplot(122);
imhist(I);
2.
clearall;closeall;
I=imread('onion.png');
figure;
subplot(141);
imshow(uint8(I));
subplot(142);
imhist(I(:
:
1));
title('R');
subplot(143);
imhist(I(:
:
2));
title('G');
subplot(144);
imhist(I(:
:
3));
title('B');
直方图均衡化
I=imread('tire.tif');
J=histeq(I);
subplot(2,2,1),imshow(I)
subplot(2,2,2),imshow(J)
subplot(2,2,3),imhist(I)
subplot(2,2,4),imhist(J)
均值滤波
clearall;closeall;
I=imread('pout.tif');
I1=imnoise(I,'salt&pepper',0.02);
subplot(231)
imshow(I)
subplot(232)
imshow(I1)
title('添加椒盐噪声的图像')
k1=filter2(fspecial('average',3),I1)/255;%进行3*3模板平滑滤波
k2=filter2(fspecial('average',5),I1)/255;%进行5*5模板平滑滤波
k3=filter2(fspecial('average',7),I1)/255;%进行7*7模板平滑滤波
k4=filter2(fspecial('average',9),I1)/255;%进行9*9模板平滑滤波
subplot(233),imshow(k1);title('3*3模板平滑滤波');
subplot(234),imshow(k2);title('5*5模板平滑滤波');
subplot(235),imshow(k3);title('7*7模板平滑滤波');
subplot(236),imshow(k4);title('9*9模板平滑滤波');
clearall;closeall;
I=imread('rice.png');
I=im2double(I);
I1=imnoise(I,'salt&pepper',0.02);
h=[1,1,1;1,1,1;1,1,1];
h=h/9;
j=conv2(I1,h);
subplot(131)
imshow(I)
subplot(132)
imshow(I1)
title('添加椒盐噪声的图像')
subplot(133)
imshow(j)
title('3*3模板平滑滤波')
中值滤波
clearall;closeall;
I=imread('pout.tif');
%J=imnoise(I,'salt&pepper',0.02);
J=imnoise(I,'salt&pepper',0.02);
subplot(231),imshow(I);title('原图像');
subplot(232),imshow(J);title('添加椒盐噪声图像');
k1=medfilt2(J);%进行3*3模板中值滤波
k2=medfilt2(J,[5,5]);%进行5*5模板中值滤波
k3=medfilt2(J,[7,7]);%进行7*7模板中值滤波
k4=medfilt2(J,[9,9]);%进行9*9模板中值滤波
subplot(233),imshow(k1);title('3*3模板中值滤波');
subplot(234),imshow(k2);title('5*5模板中值滤波');
subplot(235),imshow(k3);title('7*7模板中值滤波');
subplot(236),imshow(k4);title('9*9模板中值滤波');
clearall;closeall;
I=imread('rice.png');
I=im2double(I);
J=imnoise(I,'gaussian',0,0.01);
h=ones(3,3)/9;
K=conv2(J,h);
figure;
subplot(131);
imshow(I);
subplot(132);
imshow(J);
subplot(133);
imshow(K);
I=imread('rice.png');
I=im2double(I);
figure;
subplot(2,3,1);imshow(I);title('原图像');
H=fspecial('sobel');
H=filter2(H,I);
subplot(2,3,2),imshow(H);
title('sobel算子锐化图像');
h=[010,1-41,010];
H2=conv2(I,h,'same');
subplot(2,3,3),imshow(H2);
title('拉普拉斯算子锐化图像');
A=imread('pout.tif');
subplot(2,2,1);
imshow(I);
title('原图');
hx=[-1-2-1;000;121];%生产sobel垂直梯度模板
hy=hx';%生产sobel水平梯度模板
gradx=filter2(hx,I,'same');
gradx=abs(gradx);%计算图像的sobel垂直梯度
subplot(2,2,2);
imshow(gradx,[]);
title('图像的sobel垂直梯度');
grady=filter2(hy,I,'same');
grady=abs(grady);%计算图像的sobel水平梯度
subplot(2,2,3);
imshow(grady,[]);
title('图像的sobel水平梯度');
grad=gradx+grady;%得到图像的sobel梯度
subplot(2,2,4);
imshow(grad,[]);
title('图像的sobel梯度');
B=imread('tire.tif');
C=imnoise(B,'salt&pepper');
h1=[0.10.10.1;0.10.20.1;0.10.10.1];
h2=1/4.*[121;242;121];
C1=filter2(h1,C);
C2=filter2(h2,C);
C3=medfilt2(C);
figure,subplot(2,2,1),imshow(C);
subplot(2,2,2),imshow(C1,[]);
subplot(2,2,3),imshow(C2,[]);
subplot(2,2,4),imshow(C3);
%h=[0-10;-14-1;0-10];
h=[121;000;-1-2-1];
D1=imfilter(B,h);
d2=fspecial('sobel');
D2=imfilter(B,d2);
D3=edge(B,'roberts',0.1);
figure,subplot(2,2,1),imshow(B);
subplot(2,2,2),imshow(D1);
subplot(2,2,3),imshow(D2,[]);
subplot(2,2,4),imshow(D3);
I=imread('football.tif');
subplot(231)
imshow(I)
title('原始图像')
flag=isrgb(I);
ifflag==true
I=rgb2gray(I);
else
I=I;
end
I1=imnoise(I,'salt&pepper',0.02);
subplot(232)
imshow(I1)
title('添加椒盐噪声的图像')
k1=filter2(fspecial('average',3),I1)/255; %进行3*3模板平滑滤波
k2=filter2(fspecial('average',5),I1)/255; %进行5*5模板平滑滤波
k3=filter2(fspecial('average',7),I1)/255; %进行7*7模板平滑滤波
k4=filter2(fspecial('average',9),I1)/255; %进行9*9模板平滑滤波
subplot(233),imshow(k1);title('3*3模板平滑滤波');
subplot(234),imshow(k2);title('5*5模板平滑滤波');
subplot(235),imshow(k3);title('7*7模板平滑滤波');
subplot(236),imshow(k4);title('9*9模板平滑滤波');
卷积
a=[12;34];
b=[-11;-22];
c=conv2(a,b,'full')
a1=[1 2 0;3 4 0;0 0 0];
b1=[-1 1 0;-2 2 0;0 0 0];
a1f=fft2(a1);
b1f=fft2(b1);
abf1=a1f.*b1f;
c1=ifft2(abf1)
理想低通滤波
I=imread('pout.tif');imshow(I1);title('原图');I1=imnoise(I,'gaussian',0,0.02);
%将灰度图像的二维不连续Fourier变换的零频率成分移到频谱的中心
s=fftshift(fft2(I1));
[M,N]=size(s);%分别返回s的行数到M中,列数到N中
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
%ILPF滤波,d0=5,15,30(程序中以d0=5为例)
d0=30;%初始化d0
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离
ifd<=d0%点(i,j)在通带内的情况
h=1;%通带变换函数
else%点(i,j)在阻带内的情况
h=0;%阻带变换函数
end
s(i,j)=h*s(i,j);%ILPF滤波后的频域表示
end
end
s=ifftshift(s);%对s进行反FFT移动
%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
s=uint8(real(ifft2(s)));
figure;%创建图形图像对象
subplot(2,2,1);imshow(I);
subplot(2,2,2);imshow(I1);
subplot(2,2,3);imshow(s);%显示ILPF滤波后的图像
title('ILPF滤波(d0=5)')
巴特沃斯低通滤波
I1=imread('pout.tif');I1=imnoise(I1,'gaussian',0,0.02);imshow(I1);title('原图');
s=fftshift(fft2(I1));
[M,N]=size(s);%分别返回s的行数到M中,列数到N中
n=2;%对n赋初值
%BLPF滤波,d0=5,15,30,80(程序中以d0=15为例)
d0=15;%初始化d0
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离
h=1/(1+(d/d0)^(2*n));%BLPF滤波函数
s(i,j)=h*s(i,j);%BLPF滤波后的频域表示
end
end
s=ifftshift(s);%对s进行反FFT移动
%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
s=uint8(real(ifft2(s)));
figure;%创建图形图像对象
imshow(s);%显示BLPF滤波处理后的图像
title('BLPF滤波(d0=5)');
理想高通滤波
I1=imread('pout.tif');imshow(I1);title('原图');
%将灰度图像的二维不连续Fourier变换的零频率成分移到频谱的中心
s=fftshift(fft2(I1));
[M,N]=size(s);%分别返回s的行数到M中,列数到N中
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
%ILPF滤波,d0=5,15,30(程序中以d0=5为例)
d0=5;%初始化d0
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离
ifd<=d0%点(i,j)在通带内的情况
h=0;%通带变换函数
else%点(i,j)在阻带内的情况
h=1;%阻带变换函数
end
s(i,j)=h*s(i,j);%ILPF滤波后的频域表示
end
end
s=ifftshift(s);%对s进行反FFT移动
%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
s=uint8(real(ifft2(s)));
figure;%创建图形图像对象
imshow(s);%显示ILPF滤波后的图像
title('ILPF滤波(d0=5)')
巴特沃斯高通滤波
I1=imread('circuit.tif');
s=fftshift(fft2(I1));
[M,N]=size(s);%分别返回s的行数到M中,列数到N中
n=2;%对n赋初值
%BLPF滤波,d0=5,15,30,80(程序中以d0=15为例)
d0=20;%初始化d0
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离
h=1/(1+(d0/d)^(2*n));%BLPF滤波函数
s(i,j)=h*s(i,j);%BLPF滤波后的频域表示
end
end
s=ifftshift(s);%对s进行反FFT移动
%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
s=uint8(real(ifft2(s)));
figure;%创建图形图像对象
subplot(2,1,1);imshow(I1);
subplot(2,1,2);imshow(s);
%显示BLPF滤波处理后的图像
title('BLPF滤波(d0=5)');
图像分割
i=imread('tire.tif');
subplot(1,2,1);
imhist(i);
title('原始图像直方图');
thread=130/255;
subplot(1,2,2);
i3=im2bw(i,thread);
imshow(i3);
title('分割结果');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代数和 几何 运算
![提示](https://static.bdocx.com/images/bang_tan.gif)