数字图像处理实验作业_第1页
数字图像处理实验作业_第2页
数字图像处理实验作业_第3页
数字图像处理实验作业_第4页
数字图像处理实验作业_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-作者xxxx-日期xxxx数字图像处理实验作业【精品文档】实验一读取一幅图像,完成如下操作,并存储变换后的图像(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

2、度后图像: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=rgb2gray(I2) %取图像I2的灰度图像 subplot(1,2,1),imshow(img); %水平镜像m,n=size(img);p=1:m;q=1:n;z

3、(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的格式为jpg的图片A=im2bw(f); %取图像的二值图像m=islogical(A) %检测A是否为二值数组,如果是m=1,反之m=0.img=rgb2gray(f) %取原图

4、像的灰度图像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); %读取D盘中matlab文件夹中名字为picture的格式为jpg的图片%计算灰度图象的直方图数据 L=256; %灰度级 Ps = zeros(L,1); %统计直方图结果数据nk=zeros(L,1); row,col=size(

5、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,1);imshow(f),title(原图); subplot(3,1,2),plot(nk),title(直方图(nk)); subplot(3,1,3),plot(Ps),title(直方图(Ps)); 实验四构造一幅黑白二值图像,在128*

6、128的黑色背景中心产生一个4*4的白色方块,完成下列操作:(1) 对图像作傅里叶变换,显示频域振幅图像(2) 对原始图像进行运动模糊,显示其频谱图%构造一幅黑白二值图像,在128*128的黑色背景中心产生一个4*4的白色方块clc;clear;L=128;A=zeros(128,128); for m=63:66 for 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(

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

8、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=deconvwnr(j,psf,0);figure,subplot(2,2,1),imshow(wnr1);title(

9、运动模糊后的维纳处理);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:m for v=1:n H(u,v)=exp(-k)*(u-m/2)2+(v-n/2)2)(5/6); 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:m for v=1:n H(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(散焦逆滤波处理);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论