收藏 分享(赏)

数字图像处理实验作业.doc

上传人:精品资料 文档编号:11058908 上传时间:2020-02-05 格式:DOC 页数:10 大小:1.52MB
下载 相关 举报
数字图像处理实验作业.doc_第1页
第1页 / 共10页
数字图像处理实验作业.doc_第2页
第2页 / 共10页
数字图像处理实验作业.doc_第3页
第3页 / 共10页
数字图像处理实验作业.doc_第4页
第4页 / 共10页
数字图像处理实验作业.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、实验一读取一幅图像,完成如下操作,并存储变换后的图像(1) 把图像翻转 90 度,并显示(2) 缩小图像为原图像的 1/2(3) 镜像图像原图像:clc;clf;clear;f=imread(D:matlabpicture.jpg); %读取 D 盘中 matlab 文件夹中名字为 picture 的格式为 jpg 的图片figure,imshow(f)k=imrotate(f,90); %正数表示逆时针旋转, 负数表示顺时针旋转figure,imshow(k)imwrite(k,D:matlabk.jpg); %保存逆时针旋转 90 度后的图像逆时针旋转 90 度后图像:x=0.5; %横向

2、放 2 倍。如果想缩 2 倍就把 x 改为 0.5 即可,即变为 0.5倍y=0.5; %纵向放 2 倍。如果想缩 2 倍就把 y 改为 0.5 即可,即变为 0.5倍T1 = maketform(affine,x 0 0; 0 1 0; 0 0 1);T2 = maketform(affine,1 0 0; 0 y 0; 0 0 1);I1 = imtransform(k,T1);I2 = imtransform(I1,T2);figure, imshow(I2) imwrite(I2,D:matlabI2.jpg); %保存缩小为原来 1/2 的图像缩小图像为原图像的 1/2img=rgb

3、2gray(I2) %取图像 I2 的灰度图像 subplot(1,2,1),imshow(img); %水平镜像m,n=size(img);p=1:m;q=1:n;z(p,n-q+1)=img(p,q);subplot(1,2,2),imshow(z);imwrite(z,D:matlabz.jpg); %保存镜像后的图像镜像后的图像:实验二读取一幅彩色图像,并将图像转化为二值图像,在一张图表上,显示原始图像,灰度图像,二值图像。原图像:clc;clf;clear;f=imread(D:matlabpicture.jpg); %读取 D 盘中 matlab 文件夹中名字为picture 的格

4、式为 jpg 的图片A=im2bw(f); %取图像的二值图像m=islogical(A) %检测 A 是否为二值数组,如果是m=1,反之 m=0.img=rgb2gray(f) %取原图像的灰度图像subplot(1,3,1),imshow(f),title(原图像);subplot(1,3,2),imshow(img),title(灰度图像);subplot(1,3,3),imshow(A),title(二值图像);二 二 二 二 二 二 二 二 二 二 二实验三任意选择一幅图像,绘制图像的直方图clc;clf;clear;f=imread(D:matlabpicture.jpg); %读

5、取 D 盘中 matlab 文件夹中名字为picture 的格式为 jpg 的图片%计算灰度图象的直方图数据 L=256; %灰度级 Ps = zeros(L,1); %统计直方图结果数据nk=zeros(L,1); row,col=size(f); n=row*col; %总像素个数 for i = 1:row for j = 1:col num = double(f(i,j)+1; %获取像素点灰度级 nk(num) = nk(num)+1; %统计 nk end end %计算直方图概率估计 for i=1:L Ps(i)=nk(i)/n; end figure;subplot(3,1,

6、1);imshow(f),title(原图); subplot(3,1,2),plot(nk),title(直方图(nk)); subplot(3,1,3),plot(Ps),title(直方图(Ps)); 二 二0 50 100 150 200 250 300024x 105 二 二 二 二 nk二0 50 100 150 200 250 30000.10.2 二 二 二 二 Ps二实验四构造一幅黑白二值图像,在 128*128 的黑色背景中心产生一个4*4 的白色方块,完成下列操作:(1) 对图像作傅里叶变换,显示频域振幅图像(2) 对原始图像进行运动模糊,显示其频谱图%构造一幅黑白二值图

7、像,在 128*128 的黑色背景中心产生一个 4*4 的白色方块clc;clear;L=128;A=zeros(128,128); for m=63:66for n=63:1:66;A(m,n)=1;endendclf;subplot(1,3,1),imshow(A),title(原图像); %显示该图像k=fftshift(fft2(A);s=ifft2(k);subplot(1,3,2),plot(abs(s),title(二维傅立叶变换)subplot(1,3,3),imshow(s,),title(逆变换后的图像)二 二 二0 100 20000.10.20.30.40.50.60.

8、70.80.91二 二 二 二 二 二 二二 二 二 二 二 二 二对原始图像A做水平,长度为 20 像素的匀速直线运动模糊。二 二 二 二 二 二 二 二 二 二 二 二 二 二实验五读入一幅图像,按下列要求完成 MATLAB 实验(1) 分别模拟生成运动模糊、散焦模糊图像(2) 对模糊图像进行逆滤波法和维纳滤波复原(3) 显示复原结果,比较算法的不同点clc;clf;clear;f=imread(D:matlabpicture.jpg); %读取 D 盘中 matlab 文件夹中名字为 picture 的格式为 jpg 的图片len=10;theta=20;H1=fspecial(moti

9、on,len,theta);j=imfilter(f,H1,circular,conv);H2= fspecial(disk,10);I1 = imfilter(f, H2, replicate);figure,subplot(1,3,1),imshow(f),title(原始图像);subplot(1,3,2),imshow(j),title(进行运动模糊后的图像 );subplot(1,3,3),imshow(I1),title(散焦模糊);二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二%维纳处理psf=fspecial(motion,len,theta);wnr1

10、=deconvwnr(j,psf,0);figure,subplot(2,2,1),imshow(wnr1);title(运动模糊后的维纳处理);psf=fspecial(motion,len,theta);wnr1=deconvwnr(I1,psf,0);subplot(2,2,2),imshow(wnr1);title(散焦模糊后的维纳处理);%对图像进行黑白处理p1=rgb2gray(j);p2=rgb2gray(I1);%逆滤波处理m,n=size(p1);k=0.0025;for u=1:mfor v=1:nH(u,v)=exp(-k)*(u-m/2)2+(v-n/2)2)(5/6)

11、;endendq1=fftshift(fft2(p1);r1=abs(ifft2(fftshift(q1);subplot(2,2,3),imshow(uint8(r1),title(运动逆滤波处理);m,n=size(p2);k=0.0025;for u=1:mfor v=1:nH(u,v)=exp(-k)*(u-m/2)2+(v-n/2)2)(5/6);endendq2=fftshift(fft2(p2);r2=abs(ifft2(fftshift(q2);subplot(2,2,4),imshow(uint8(r2),title(散焦逆滤波处理);二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二 二二 二 二 二 二 二 二 二 二 二 二 二 二 二实验证明,当退化图像的噪声较小,即轻度降质时,采用逆滤波恢复的方法可以获得较好的结果。通常,在离频率平面原点较远的地方数值较小或为零,因此图像恢复在原点周围的有限区域内进行,即将退化图像的傅立叶谱限制在没出现零点而且数值又不是太小的有限范围内。当噪声作用范围很大时,逆滤波不能从噪声中提取图像。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报