数字图像处理与matlab编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理与matlab编程
1、图像的二值化
clear
i=imread('lenna_2.bmp');
j=double(i);
[m n]=size(j);
lk=j;
for p=1:m;
for q=1:n;
if j(p,q)>=125
lk(p,q)=255;
else
lk(p,q)=0;
end
end
end
实验结果:
可以发现变换后的图像有些模糊
2)高频滤波实现1
Z=imread('Lenna.bmp')
A=double(Z);
subplot(1,2,1),imshow(Z);
B=zeros(256,256);
B(128-30:128+30,128-30:128+30)=1;
B1=1-B;
C=fftshift(fft2(A));
k=uint8(lk);
figure,imshow(i);
figure,imshow(k)
实验结果:
处理前处理后
2、数字图像旋转、放大及缩小
1ቤተ መጻሕፍቲ ባይዱ旋转
i=imread('Lenna.bmp');
j=imrotate(i,45,'bilinear');
subplot(1,2,1),imshow(i);
subplot(1,2,2),imshow(j);
实验结果:
7、图像加波浪噪声
i=imread('rice.tif');
s=size(i);
[x,y]=meshgrid(1:s(1),1:s(2));
p=cos(x/3+y/5)+1;
j=(im2double(i)+p/2)/2;
subplot(1,2,1),imshow(i);title('原图像')
subplot(1,2,2),imshow(j);title('加噪声图像')
实验结果:
8、图像的边缘检测(三种算子roberts、lop、sobel)
I1=imread('Lenna.bmp');
subplot(2,2,1),imshow(I1);
BW1=edge(I1,'roberts');
subplot(2,2,2),imshow(BW1),title('用Roberts算子');
subplot(1,3,2),imshow(j);title('加噪声图像')
subplot(1,3,3),imshow(i2,[]);title('中值滤波后图像')
实验结果:
6、均值滤波
i=imread('flowers.tif');
j=imnoise(i,‘gaussian’,0.02);加高斯噪声
h=fspecial('average',3);
i2=filter2(h,j);
subplot(1,3,1),imshow(i);title('原图像')
subplot(1,3,2),imshow(j);title('加噪声图像')
subplot(1,3,3),imshow(i2,[]);title('均值滤波后图像')
subplot(1,2,2),imshow(j);
实验结果:
3)数字图像的平移
i=imread('Lenna.bmp');
subplot(1,2,1),imshow(i);
[x,y]=size(i);
p=1:x;q=1:y;
j(p+20,q+20)=i(p,q);
j(1:p+19,q+20)=0;
j(p+20,p+20:q+19)=0;
Z=imread('Lenna.bmp')
A=double(Z);
subplot(1,2,1),imshow(Z);
B=ones(256,256);
B(128-30:128+30,128-30:128+30)=1;
C=fftshift(fft2(A));
D=C.*B;
FF=ifft2(D);
subplot(1,2,2),imshow(abs(FF),[]);
实验结果:
2)放大
i=imread('Lenna.bmp');
j=imresize(i,1.5,'bilinear');
figure(1),imshow(i);
figure(2),imshow(j);
实验结果:
放大前
放大后
3)缩小
i=imread('Lenna.bmp');
j=imresize(i,0.8,'bilinear');
end
end
figure,imshow(uint8(b));
实验结果:
错切前错切后
5、中值滤波
i=imread('rice.tif');
j=imnoise(i,‘salt & pepper’,0.02);加椒盐噪声
i2=medfilt2(j,[3,3]);
subplot(1,3,1),imshow(i);title('原图像')
D=C.*B1;
FF=ifft2(D);
subplot(1,2,2),imshow(abs(FF),[]);
figure(1),imshow(i);
figure(2),imshow(j);
实验结果:
缩小前
缩小后
3、数字图像水平镜像、垂直镜像和平移
1)数字图像的水平镜像
i=imread('Lenna.bmp');
subplot(1,2,1),imshow(i);
[x,y]=size(i);
p=1:x;q=1:y;
subplot(1,2,2),imshow(j);
实验结果:
4、图像的错切
clear
a=imread('lenna_2.bmp');
figure,imshow(a);
[m n]=size(a);
b(1:m+0.5*n,1:n)=0;
for x=1:m
for y=1:n
b(fix(x+0.5*y),y)=double(a(x,y));
BW2=edge(I1,'sobel');
subplot(2,2,3),imshow(BW2),title('用Sobel算子');
BW3=edge(I1,'log');
subplot(2,2,4),imshow(BW3),title('用拉普拉斯算子');
实验结果:
9、傅里叶变换与高低频滤波
1)低频滤波
j(p,y-q+1)=i(p,q);
subplot(1,2,2),imshow(j);
实验结果:
2)数字图像的垂直镜像
i=imread('Lenna.bmp');
subplot(1,2,1),imshow(i);
[x,y]=size(i);
p=1:x;q=1:y;
j(x-p+1,q)=i(p,q);
相关文档
最新文档