人人范文网 范文大全

数字图像处理实验报告

发布时间:2020-03-03 22:05:32 来源:范文大全 收藏本文 下载本文 手机版

数字图像处理实验

学生姓名:专业年级:报告

叶圣红 学 号: 20097048

09级电子信息工程二班

实验一 常用MATLAB图像处理命令

一、实验内容

1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

实验结果如右图: 代码如下: Subplot (1,3,1)

i=imread(\'E:\\数字图象处理.jpg\') imshow(i)

title(\'RGB\') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title(\'灰度\') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title(\'二值\')

2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。

实验结果如右图: 代码如下: Subplot (3,2,1) i=imread(\'E:\\数字图像处理\\1.jpg\') x=imresize(i,[250,320]) imshow(x) title(\'原图x\') Subplot (3,2,2) j=imread(\'\'E:\\数字图像处理\\17.jpg\') y=imresize(j,[250,320]) imshow(y) title(\'原图y\') Subplot (3,2,3) z=imadd(x,y) imshow(z) title(\'相加结果\');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title(\'相减结果\') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title(\'相乘结果\') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title(\'相除结果\')

3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。

实验结果如右图:

代码如下: Subplot (2,2,1) i=imread(\'E:\\数字图像处理\\12.jpg\') imshow(i) title(\'原图\') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title(\'变暗\') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title(\'变亮\') Subplot (2,2,4) J=255-i Imshow(J) title(\'变负\')

二、实验总结

分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。

解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。

乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。

除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。

加法运算的一个重要应用是对同一场景的多幅图像求平均值

减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

实验二 图像基本操作

一、实验内容

1.调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。

1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。

a=imread(‘e:\\3.jpg’);%读取图片 b=rgb2gray(a);%变为灰度图像

[wid,hei]=size(b);%改变图片大小 quartimg=zeros(wid/2+1,hei/2+1); i1=1; j1=1; for i=1:2:wid

for j=1:2:hei

quartimg(i1,j1)=b(i,j) ;

j1=j1+1;

end

i1=i1+1; j1=1; end figure imshow(uint8(quartimg)) %显示输出图像

2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图

Subplot (1,2,1);a=imread(\'E:\\数字图像处理实验\\数字图像处理\\20.jpg\'); imshow(a);title(\'a\');Subplot (1,2,2);b= imadjust(a,[],[],3);title(\'b\')

显示直方图程序:

Subplot (1,2,1);imhist(a);title(\'a的直方图\') Subplot (1,2,2);imhist(b);title(\'b的直方图\')

3、对图像b进行直方图均衡化,显示结果图像和对应直方图。

Subplot (1,2,1);j=histeq(b);imshow(j); title(\'b均衡化\'); Subplot (1,2,2);imhist(j); title(\'b均衡化后的直方图\') 均衡化的图像和直方图:

4、读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。

[counts,x]=imhist(c) ;Subplot (2,2,1);imshow(a); title(\'图a\');Subplot (2,2,2);c=imread(\'E:\\数字图像处理\\13.jpg\'); imshow(c);title(\'图c\');Subplot (2,2,3);j=histeq(a,counts); imshow(j);Subplot (2,2,4);imhist(j)

实验三 图像变换

一、实验内容

1、对一幅图像进行缩小,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 i=imread(\'F:\\数字图象处理\\17.jpg\'); y=rgb2gray(i);subplot(2,2,1);imshow(y);title(\'原图\') j=imresize(y,0.5);subplot(2,2,2);imshow(j);title(\'缩小图\') m=fft2(y);subplot(2,2,3);imshow(abs(log(m)),[]);title(\'原图傅里叶变化\') n=fft2(j);subplot(2,2,4);imshow(abs(log(n)),[]);title(\'缩小图傅里叶变化\')

2、对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。

i=imread(\'E:\\数字图象处理\\18.jpg\'); j=rgb2gray(i);subplot(2,2,1);imshow(j);title(\'原图\') m=imrotate(j,45,\'bilinear\');subplot(2,2,2); imshow(m);title(\'旋转图\') p=fftshift(fft2(j));subplot(2,2,3); imshow(abs(log(p)),[]);title(\'原图傅里叶变化\') q=fftshift(fft2(m));subplot(2,2,4); imshow(abs(log(q)),[]);title(\'旋转图傅里叶变化\')

实验四 常用图像增强方法

一、实验内容

1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7 subplot(2,2,1);

a=imread(\'E:\\数字图像处理\\24.jpg\'); j=imnoise(a,\'salt & pepper\',0.04); imshow(j);

title(\'椒盐噪声图像\'); subplot(2,2,2); I_Filter1=medfilt2(j,[3 3]);

imshow(I_Filter1); title(\'3X3\'); subplot(2,2,3); I_Filter2=medfilt2(j,[5 5]);

imshow(I_Filter2); title(\'5X5\'); subplot(2,2,4); I_Filter3=medfilt2(j,[7 7]);

imshow(I_Filter3); title(\'7X7\');

2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 subplot(1,2,1);a=imread(\'E:\\数字图像处理\\23.jpg\'); j=imnoise(a,\'salt & pepper\',0.04); imshow(j);title(\'椒盐噪声图像\'); subplot(1,2,2); h=fspecial(\'average\'); m=filter2(h,j); imshow(m); title(\'均值滤波\')

3、采用三种不同算子对图像进行锐化处理。

subplot(1,4,1);i=imread(\'F:\\数字图像处理\\16.jpg\');i1=rgb2gray(i); imshow(i1);title(\'原图像\');subplot(1,4,2);h=fspecial(\'laplacian\'); i2=filter2(h,i1);imshow(i2);title(\'拉式算子\');subplot(1,4,3) h=fspecial(\'prewitt\');i3=filter2(h,i1);imshow(i3); title(\'prewitt算子\')subplot(1,4,4)h=fspecial(\'sobel\'); i4=filter2(h,i1)imshow(i4);title(\'sobel算子\')

二、实验总结

1、比较不同平滑滤波器的处理效果,分析其优缺点

中值滤波比低通滤波消除噪声更有效。因为噪声多为尖峰状干扰,若用低通滤波虽能去除噪声但陡峭的边缘将被模糊。中值滤波能去除点状尖峰干扰而边缘不会变坏。理想低通滤波器平滑处理的概念是清晰的,但在处理过程中会产生较严重的模糊和振铃现象。这种现象正是由于傅里叶变换的性质决定的。

2、比较不同锐化滤波器的处理效果,分析其优缺点

梯度算子: 梯度对应的是一阶导数,梯度算子是一阶导数算子。梯度方向:在图像灰度最大变化率上,反映出图像边缘上的灰度变化。梯度处理经常用于工业检测、辅助人工检测缺陷,或者是更为通用的自动检测的预处理。拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。

实验五 图像恢复和图像分割

一、实验内容

1、产生运动模糊图像,运用维纳滤波进行图像恢复,显示结果。

i=imread(\'F:\\car.jpg\'); I1=rbg2gray(i);I= im2double(I1); subplot(1,3,1) imshow(I);title(‘原图像’) LEN = 21; THETA = 11;

PSF = fspecial(\'motion\', LEN, THETA);

blurred = imfilter(I, PSF, \'conv\', \'circular\'); subplot(1,3,2);imshow(blurred); title(\'模拟运动模糊图像\') wnr2=deconvwnr(blurred,PSF); subplot(1,3,3); imshow(wnr2); title(\'维纳滤波恢复后图像\')

2、采用三种不同算子检测图像边缘,显示结果

i = imread(\'F:\\car.jpg\'); I=rgb2gray(i); subplot(2,2,1);imshow(I);title(\'原图像\') BW1 = edge(I,\'prewitt\'); subplot(2,2,2);imshow(BW1); title(\'prewit算子边缘检测\') BW2=edge(I,\'zerocro\'); subplot(2,2,3);imshow(BW2);title(\'zerocro算子边缘检测\') BW3=edge(I,\'log\'); subplot(2,2,4);imshow(BW3);title(\'log算子边缘检测\')

3、对二值图像分别进行方形模板3*3和5*5的膨胀和腐蚀操作,显示结果。

i= imread(\'F:\\16.jpg\'); I=im2bw(i,0.5); subplot(2,3,1);imshow(I);title(\'二值图像\') se=strel(\'square\',3);se1= strel(\'square\',5); I1 = imdilate(I,se);subplot(2,3,2);imshow(I1);title(\'3*3膨胀图像\') I2 = imdilate(I,se1);subplot(2,3,3);imshow(I2);title(\'5*5膨胀图像\') subplot(2,3,4);imshow(I);title(\'二值图像\') erodedBW=imerode(I,se);subplot(2,3,5);imshow(erodedBW);title(\'3*3腐蚀图像\') erodedBW1=imerode(I,se1);subplot(2,3,6);imshow(erodedBW1);title(\'5*5腐蚀图像\')

实验六 图像处理实际应用

一、实验内容

1、调试运行下列程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点

总结:对于特定位置的车牌识别算法非常高效,但对于含有噪声等其他因素的车牌分割处理,相对来说算法还有待完善。

三、实验内容

调试运行下列程序,分析程序,对每条语句给出注释,并显示最终执行结果。总结算法思想及优缺点.I=imread(\'Car.jpg\');%读取图片

[y,x,z]=size(I);% 返回I各维的尺寸,并存储在变量y、x、z中 myI=double(I); %换成双精度数值

%%%%%%%%%%% RGB to HSI %%%%%%%% %begin横向扫描

tic

%计算tic与toc之间程序的运行时间

%%%%%%%% Y 方向 %%%%%%%%%% 分割字符按行积累量

Blue_y=zeros(y,1); %产生y*1的全0矩阵 for i=1:y

%给定i的范围

for j=1:x

:x%给定j的范围

if((myI(i,j,1)=51))&&((myI(i,j,3)=119))) % 蓝色RGB的灰度范围

Blue_y(i,1)= Blue_y(i,1)+1;

%蓝色像素点统计

end

end

end [temp MaxY]=max(Blue_y);

% Y方向车牌区域确定

%temp为向量white_y的元素中的最大值,MaxY为该值的索引( 在向量中的位置)

PY1=MaxY;

%y矩阵的最大元素

while ((Blue_y(PY1,1)>=5)&&(PY1>1))

确定蓝色RGB Blue_y所在位置

PY1=PY1-1;

%对车牌区域的修正,向上调整 end

PY2=MaxY;

while ((Blue_y(PY2,1)>=5)&&(PY2

PY2=PY2+1; end IY=I(PY1:PY2,:,:); %IY为原始图像I中截取的纵坐标在PY1:PY2之间的部分 %end横向扫描

%begin纵向扫描

%%%%%%%% X 方向 %%%%%%%%%%

Blue_x=zeros(1,x);

%产生y*1的全0矩阵

for j=1:x

for i=PY1:PY2

if((myI(i,j,1)=51))&&((myI(i,j,3)=119)))

Blue_x(1,j)= Blue_x(1,j)+1; % Blue_x 的矩阵加一

end

end

end

PX1=1; while ((Blue_x(1,PX1)

PX1=PX1+1; %对车牌区域的修正向下调整 end

PX2=x; while ((Blue_x(1,PX2)PX1)) %确定蓝色RGB Blue_x的位置

PX2=PX2-1; %对车牌区域的修正向下调整 End %end纵向扫描

PX1=PX1-2; % 对车牌区域的修正 PX2=PX2+2;

Plate=I(PY1:PY2,PX1-2:PX2,:); t=toc % 读取计时

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure,imshow(I);% 原始图像\'

figure,plot(Blue_y);grid %创建图像窗口,绘制Blue_y图像,画出网格线\' figure,plot(Blue_x);grid%创建图像窗口,绘制Blue_x图像,画出网格线\'figure,imshow(Plate);

% 车牌截取结果\'

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告

遥感数字图像处理实验报告

数字图像处理 实验报告(完整版)

昆明理工大学(数字图像处理)实验报告

中南大学数字图像处理实验报告

数字图像处理——彩色图像实验报告

数字图像处理实验报告
《数字图像处理实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档