数字图像处理与matlab编程

上传人:第** 文档编号:31012708 上传时间:2018-02-03 格式:DOC 页数:22 大小:1.46MB
返回 下载 相关 举报
数字图像处理与matlab编程_第1页
第1页 / 共22页
数字图像处理与matlab编程_第2页
第2页 / 共22页
数字图像处理与matlab编程_第3页
第3页 / 共22页
数字图像处理与matlab编程_第4页
第4页 / 共22页
数字图像处理与matlab编程_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数字图像处理与matlab编程》由会员分享,可在线阅读,更多相关《数字图像处理与matlab编程(22页珍藏版)》请在金锄头文库上搜索。

1、数字图像处理与 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 k=uint8(lk); figure,imshow(i); figure,imshow(k)实验结果:处理前 处理后2、数字图像旋转、放大及缩小 1)旋转 i=imread(Lenna.bmp); j=imrotate(i,45,bilinear); subplot(1

2、,2,1),imshow(i); subplot(1,2,2),imshow(j);实验结果: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); figure(1),imshow(i); figure(2),imshow(j);实验结果:缩小前缩小后3、数字图像水平镜像、垂直镜像和平移1)数字图像的水平镜像 i=imread(L

3、enna.bmp); subplot(1,2,1),imshow(i); x,y=size(i); p=1:x;q=1:y; 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); subplot(1,2,2),imshow(j);实验结果: 3)数字图像的平移 i=imread(Lenna.bmp); subplot(1,2,1),imshow

4、(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; 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); end end figure,imshow(uint8(b);实验结果: 错

5、切前 错切后5、中值滤波 i=imread(rice.tif); j=imnoise(i,salt 加椒盐噪声 i2=medfilt2(j,3,3); subplot(1,3,1),imshow(i);title(原图像) 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); s

6、ubplot(1,3,1),imshow(i);title(原图像) subplot(1,3,2),imshow(j);title(加噪声图像) subplot(1,3,3),imshow(i2,);title(均值滤波后图像)实验结果: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(加噪声

7、图像)实验结果: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 算子);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)

8、低频滤波 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)高频滤波实现 1 Z=imread(Lenna.bmp) A=double(Z); subplot(1,2,1),imshow(Z); B=zeros(256,256); B(128

9、-30:128+30,128-30:128+30)=1; B1=1-B; C=fftshift(fft2(A); D=C.*B1; FF=ifft2(D); subplot(1,2,2),imshow(abs(FF),);高频滤波实现 2 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)=0; C=fftshift(fft2(A); D=C.*B; FF=ifft2(D); subplot(1,2,2),imshow(abs(FF)

10、,);实验结果: 可以发现得到了图像的轮廓。10、数字图像的腐蚀、膨胀、开运算和闭运算im=imread(njnu.png);%(rice.jpg)subplot(2,3,1),imshow(im);title(原图)se=strel(line,10,45);im2=imerode(im,se);subplot(2,3,2),imshow(im2);title(腐蚀后)im3=imdilate(im,se);subplot(2,3,3),imshow(im3);title(膨胀后)im4=imopen(im,se);subplot(2,3,4),imshow(im4);title(开运算后)i

11、m5=imclose(im,se);subplot(2,3,5),imshow(im5);title(闭运算后)原图:分别如下: 为什么对于两幅不同的图像,同样的程序,处理的结果会不同呢?10 彩色图像到灰度图像转换i=imread(lily.tif)subplot(1,2,1),imshow(i),title(rgb)j=rgb2gray(i)subplot(1,2,2),imshow(j),title(gray)11、图像的转置及灰度翻转i=imread(Lenna.bmp);j=i;k=255-double(i);subplot(1,3,1),imshow(i),title(origin

12、al picture);subplot(1,3,2),imshow(j),title(retoted picture);subplot(1,3,3),imshow(uint8(k),title(opposite picture);12、图像对比度展宽i=imread(pout.tif);subplot(2,2,1),imshow(i)subplot(2,2,2),imhist(i)j=imadjust(i,0.3 0.7,);subplot(2,2,3),imshow(j)subplot(2,2,4),imhist(j)13、图像直方图均衡化i=imread(pout.tif)j=histeq

13、(i)subplot(2,2,1),imshow(i)subplot(2,2,2),imhist(i,256)subplot(2,2,3),imshow(j)subplot(2,2,4),imhist(j,256)14、离散余弦变换与图像压缩i=imread(Lenna.bmp);i=im2double(i);T=dctmtx(8);B=blkproc(i,8 8,P1*x*P2,T,T);mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 01 1 0 0 0 0 0 0 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

14、0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;%二值掩模,用来压缩 DCT 的系数B2=blkproc(B,8 8,P1.*x,mask);%只保留 DCT 变换的 10 个系数i2=blkproc(B2,8 8 ,P1*x*P2,T,T);%逆 DCT 变换,用来重构图像subplot(1,2,1),imshow(i);title(原图);subplot(1,2,2),imshow(i2);title(变换后); 可以发现变换后的图像有一定的失真,但不影响视觉,但图像数据量大大缩小。15、图像加噪声再通过多次相加求平均的方法去除噪声I,M=imread(Lenna.bmp);J=imnoise(I,gaussian,0,0.02);subplot(1,3,1),imshow(I,M);title(原图像);subplot(1,3,2),imshow(J,M);title(加噪声后图像);m,n=size(i);K=zeros(m,n);for i=1:100J=imnoise(I,gaussian,0,0.02);J1=im2double(J);K=K+J1;endK=K/100;subplot(1,3,3),imshow(K);title(相加求平均后的图像);16、小波变换去噪实例st=3;init=231434;x,xn=wnoise

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号