数字视频图像处理与通信实验指导书.docx
- 文档编号:23053955
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:41
- 大小:2.02MB
数字视频图像处理与通信实验指导书.docx
《数字视频图像处理与通信实验指导书.docx》由会员分享,可在线阅读,更多相关《数字视频图像处理与通信实验指导书.docx(41页珍藏版)》请在冰豆网上搜索。
数字视频图像处理与通信实验指导书
《数字视频图像处理与通信》
实验指导书
安阳工学院
电子信息与电气工程学院
目录
概述1
第一章基于MATLAB的图像信息处理算法实验2
实验一数字图像基本操作2
实验二空间域图像增强5
实验三数字图像的空间域滤波9
实验四数字图像的频域滤波18
第二章基于DM6437的图象处理算法实验25
实验一静态图像采集25
实验二图像灰度变换26
实验三图像黑白变换29
实验四图像反色31
实验报告格式34
参考文献35
概述
图像信息处理是电子信息工程专业的一门专业课程。
通过实验,使学生巩固并加深理解课堂所学基本理论知识,熟悉数字图像处理基本概念,掌握数字图像处理的基本技巧和基本编程方法。
1.实验内容及安排
学生在学习完信号与系统、数字信号处理、MATLAB语言等前期课程基础上,将课堂老师介绍的基本概念和方法通过设计实验来加深理解,实验安排涵盖了图像变换、图像增强、图像分析等内容。
学生实验前应了解开发环境、开发工具熟悉等基本技能,通过实验逐步掌握使用相应开发工具进行数字图像处理的经验和技巧,锻炼提高分析问题、解决问题能力。
2.实验方式与基本要求
实验方式:
(1)由指导老师讲解实验的基本要求、完成的任务操作要领及注意事项。
(2)实验每两人一组,由学生独立操作完成实验。
(3)学生在完成预习报告后才能进入实验室进行实验。
基本要求:
(1)学会用相关的开发工具编写数字图像处理程序,在规定的时间内完成实验内容。
(2)实验前先预习实验内容,编制好相应的程序及准备需要改变的参数,能预计出可能出现的结果。
(3)观察实验过程,分析比较实验结果,与所学的理论知识相对照。
(4)撰写规范的实验报告。
封面应有题目、班级、姓名、学号与实验日期、地点;正文应包括设计目标、设计原理、设计方案及关键函数理解;要求附上实验结果,图表翔实、表述清晰,并对实验结果进行讨论及说明。
3.考核方式与评分办法
采用实验预习、操作与实验报告综合评分。
(1)学生每次做完实验要进行登记。
(2)实验的结果符合实验的教学要求,且得到指导教师认可签字后,学生方可离开实验室。
(3)指导教师对每份实验报告进行批改、评分将成绩登录在册。
指导教师根据学生实验过程、操作情况、实验结果、实验报告质量、创新性和工作态度等给出考核成绩,成绩评定60分以下者需重新做实验。
第一章基于MATLAB的图像信息处理算法实验
实验一数字图像基本操作
一、实验目的
1、掌握读、写图像的基本方法。
2、掌握MATLAB语言中图像数据与信息的读取方法。
3、理解图像灰度变换处理在图像增强的作用。
二、实验条件
1、PC机
2、MATLAB7.0
三、实验原理
1.灰度变换
灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。
1)图像反转
灰度级范围为[0,L-1]的图像反转可由下式获得
2)对数运算:
有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。
解决的方法是对原图进行灰度压缩,如对数变换:
s=clog(1+r),c为常数,r≥0
3)幂次变换:
4)对比拉伸:
在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:
其对应的数学表达式为:
四、实验内容与要求
复制若干图形文件(如forest.tif和b747.jpg)至MATLAB目录下work文件夹中。
1.熟悉MATLAB语言中对图像数据读取,显示等基本函数
特别需要熟悉下列命令:
熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。
1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread,imfinfo等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。
将这个图像显示出来(用imshow)。
尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。
2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。
2.图像灰度变换处理在图像增强的作用
1)读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。
2)对B进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。
图1.1分段线性变换函数
五、实验步骤
1.熟悉MATLAB语言中对图像数据读取,显示等基本函数
1)文件读取与信息显示:
loadtrees;
[X,map]=imread('forest.tif');
subimage(X,map);
I=imread('forest.tif');
imshow(I);
imfinfo('forest.tif');
2)map颜色矩阵的修改
[X,map]=imread('forest.tif');
map1=map+map;
subimage(X,map1);
3)灰度图像的转化
RGB=imread('b747.jpg');
B=rgb2gray(RGB);
figure
(1);imshow(RGB);title('原图');
figure
(2);imshow(B);title('灰度图');
2.图像灰度变换处理在图像增强中的作用
RGB=imread('b747.jpg');
B=rgb2gray(RGB);
figure
(1);imshow(RGB);title('原图');
figure
(2);imshow(B);title('灰度图');
%J=imadjust(I,[low_in;high_in],[low_out;high_out])
%将low_in至high_in之间的值映射到low_out至high_out之间,low_in以下及high_in以上归零。
g1=imadjust(B,[01],[10]);
%imcomplement:
对图像进行求反运算
g2=imcomplement(B);
g3=im2uint8(mat2gray(log(1+double(B))));
figure(3);imshow(g1);title('灰度调整图');
figure(4);imshow(g2);title('反色图');
figure(5);imshow(g3);title('对数变换图');
3.绘制图像灰度直方图的方法,对图像进行均衡化处理
1)对B进行如图所示的分段线形变换处理
x1=0:
0.01:
0.125;
x2=0.125:
0.01:
0.75;
x3=0.75:
0.01:
1;
y1=2*x1;
y2=0.25+0.6*(x2-0.125);
y3=0.625+1.5*(x3-0.75);
x=[x1,x2,x3];
y=[y1,y2,y3];
plot(x,y)
title('分段线性曲线');
六、实验结果分析与讨论
实验二空间域图像增强
一、实验目的
熟悉数字图像增强的一般方法,包括:
1.掌握空域变换增强的原理、方法
2.掌握直方图变换的原理、方法
二、实验条件
1、PC机
2、MATLAB7.0
三、实验原理
1、增强图象对比度实际上拉伸图像中一些灰度细节,相对抑制不感兴趣的部分。
这可以通过分段线性变换得到。
(1)分段线性变换数学表达式
(2)分段线性变换函数实现算法程序如下:
r1=(g1-g0)/(f1-f0);%
b1=g0-r1*f0;
r2=(g2-g1)/(f2-f1);%
b2=g1-r2*f1;
b3=g2-r3*f2;
fori=1:
m
forj=1:
n
f=X2(i,j);
g(i,j)=0;
if(f>=0)&(f<=f1);%找出灰度级范围在0~f1的元素
g(i,j)=r1*f+b1;%灰度级在0~f1的进行灰度变换
elseif(f>=f1)&(f<=f2)%找出灰度级范围在f1~f2的元素
g(i,j)=r2*f+b2;%灰度级在f1~f2的进行灰度变换
elseif(f>=f2)&(f<=f3)%找出灰度级范围在f2~f3的元素
g(i,j)=r3*f+b3;%灰度级在f2~f3的进行灰度变换
end
end
end
2、利用分段线性函数进行图像增强
(1)、图像变换公式即:
(2)、增强对比度参考程序:
X1=imread('pout.tif');
figure
(1),imshow(X1);title('原图')
f0=0;g0=0;
f1=70;g1=30;
f2=180;g2=230;
f3=255;g3=255;%绘制变换曲线
figure
(2),plot([f0,f1,f2,f3],[g0,g1,g2,g3])
axistight,xlabel('f'),ylabel('g')
title('intensitytransformation')
r1=(g1-g0)/(f1-f0);%求0~70灰度级范围内的压缩比
b1=g0-r1*f0;
r2=(g2-g1)/(f2-f1);%求70~180灰度级范围内的压缩比
b2=g1-r2*f1;
r3=(g3-g2)/(f3-f2);%求180~255灰度级范围内的压缩比
b3=g2-r3*f2;
[m,n]=size(X1);%求矩阵的行数m,列数n
X2=double(X1);%将数据类型转换为双精度型
%变换矩阵中的每个元素
fori=1:
m
forj=1:
n
f=X2(i,j);
g(i,j)=0;
if(f>=0)&(f<=f1);%找出灰度级范围在0~70的元素
g(i,j)=r1*f+b1;%灰度级在0~30的进行灰度变换
elseif(f>=f1)&(f<=f2)%找出灰度级范围在70~180的元素
g(i,j)=r2*f+b2;%灰度级在70~180的进行灰度变换
elseif(f>=f2)&(f<=f3)%找出灰度级范围在180~255的元素
g(i,j)=r3*f+b3;%灰度级在180~255的进行灰度变换
end
end
end
figure(3),
imshow(mat2gray(g));
title('对比度增强图')%函数mat2gray()将数据矩阵转换成灰度图像
3、直方图均衡化
(1)熟悉下列matlab函数
直方图均衡的MTLAB函数:
J=histeq(I,n)
%函数完成直方图均衡,其中I是原始图像矩阵,J是变换后所得的图像矩阵;用户可以指定均衡化后的灰度级数n,默认值为64。
imhist(I,n)
%显示直方图,其中I是原始图像矩阵,灰度级数n,默认值为256。
(2)参考程序:
I=imread('tire.tif');
J=histeq(I);
figure
(1),imshow(I),title('原图')
figure
(2),imshow(J);title('原图直方图均衡化')
figure(3),imhist(I,64),title('原图直方图显示')
figure(4),imhist(J,64),title('直方图均衡化后直方图显示')
4、直方图规定化
(1)直方图均衡的MTLAB函数:
J=histeq(I,hgram);
%函数完成直方图规定化,其中I是原始图像矩阵,J是变换后所得的图像矩阵;hgram是由用户指定的矢量。
hgram中的各元素的值域为[0,1]、[0,255]、[0,65535]。
(2)参考程序
I=imread('circuit.tif');
[M,N]=size(I);
fori=1:
8:
257
counts(i)=i;
end
Q=imread('circuit.tif');
N=histeq(Q,counts);
figure
subplot(1,2,1);imshow(N);
subplot(1,2,2);imhist(N);
axis([026005000])
四、实验内容与要求
练习图像增强的Matlab命令:
histeq,histem
一幅256X256的灰度图像如图(a),将0~60灰度级压缩到0~30范围内,压缩比1/2;60~180的灰度级扩大到30~240,比率为190/120;将180~255灰度级压缩到240~255范围内,压缩比为15/75。
效果图如图(b)。
2.熟悉命令histeq,将原图(a)做直方图均衡和直方图均衡处理,比较图像增强的效果,并用命令histem绘制增强后图像的直方图
五、实验结果分析与讨论
实验三数字图像的空间域滤波
一、实验目的
1.掌握图像滤波的基本定义及目的。
2.理解空间域滤波的基本原理及方法。
3.掌握进行图像的空域滤波的方法。
二、实验条件
1、PC机
2、MATLAB7.0
三、实验原理与算法分析
1.空间域增强
空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。
空域滤波一般分为线性滤波和非线性滤波两类。
线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。
各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:
一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。
结合这两种分类方法,
可将空间滤波增强分为四类:
线性平滑滤波器(低通)非线性平滑滤波器(低通)
线性锐化滤波器(高通)非线性锐化滤波器(高通)
空间滤波器都是基于模板卷积,其主要工作步骤是:
1)将模板在图中移动,并将模板中心与图中某个像素位置重合;
2)将模板上的系数与模板下对应的像素相乘;
3)将所有乘积相加;
4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。
2.平滑滤波器
1)线性平滑滤波器
线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。
MATLAB提供了fspecial函数生成滤波时所用的模板,并提供filter2函数用指定的滤波器模板对图像进行运算。
函数fspecial的语法格式为:
h=fspecial(type);
h=fspecial(type,parameters);
其中参数type指定滤波器的种类,parameters是与滤波器种类有关的具体参数。
表2.1MATLAB中预定义的滤波器种类
MATLAB提供了一个函数imnoise来给图像增添噪声,其语法格式为:
J=imnoise(I,type);
J=imnoise(I,type,parameters);
参数type指定噪声的种类,parameters是与噪声种类有关的具体参数。
参数的种类见表2.2。
表2.2噪声种类及参数说明
2)非线性平滑滤波器
中值滤波器是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计算的非加权求和,而是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。
MATLAB提供了medfilt2函数来实现中值滤波,其语法格式为:
B=medfilt2(A,[mn]);
B=medfilt2(A);
其中,A是原图象,B是中值滤波后输出的图像。
[mn]指定滤波模板的大小,默认模板为3×3。
3.锐化滤波器
图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。
1)线性锐化滤波器
线性高通滤波器是最常用的线性锐化滤波器。
这种滤波器的中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。
对3×3的模板来说,典型的系数取值为:
[-1-1-1;
-18-1;
-1-1-1]
事实上这是拉普拉斯算子。
语句h=-fspecial(‘laplacian’,0.5)得到的拉普拉斯算子为:
h=-0.3333-0.3333-0.3333
-0.33332.6667-0.3333
-0.3333-0.3333-0.3333
2)非线性锐化滤波
邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。
图像处理中最常用的微分方法是利用梯度。
常用的空域非线性锐化滤波微分算子有sobel算子、prewitt算子、log算子等。
四、实验内容与要求
1.平滑空间滤波:
1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
3)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
4)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像(提示:
利用fspecial函数的’average’类型生成均值滤波器)。
5)对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2.锐化空间滤波
1)读出moon.tif这幅图像,采用3×3的拉普拉斯算子w=[1,1,1;1–81;1,1,1]对其进行滤波。
2)编写函数w=genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×5的拉普拉斯算子
w=[11111
11111
11-2411
11111
11111]
3)分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式
完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。
4)采用不同的梯度算子对blurry_moon.tif进行锐化滤波,并比较其效果。
5)自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;
五、参考程序
1.平滑空间滤波:
1)椒盐噪声和高斯噪声的加入
I=imread('football.jpg');
figure;imshow(I);title('原图像');
I1=imnoise(I,'salt&pepper',0.02);
figure;imshow(abs(I1));title('加入椒盐噪声后的图像');
I2=imnoise(I,'gaussian',0,0.005);
figure;imshow(I2);title('加入高斯噪声后的图像');
2)不同的平滑(低通)模板的处理
I=imread('eight.tif');
figure
(1),imshow(I);title('原图')
Hs=fspecial('sobel');
Sobel=imfilter(I,Hs,'replicate');
Hl=fspecial('laplacian',0.4);
lap=imfilter(I,Hl,'replicate');
figure
(2),imshow(Sobel);title('Sobel滤波')
figure(3),imshow(lap);title('lap滤波')
3)均值、中值滤波
%
(1)对噪声污染的图像做均值滤波:
%---------对椒盐噪声做均值滤波---------%
II1=rgb2gray(I1);
a=1/9.*[111
111
111];
b=conv2(a,II1);
figure;imshow(b,[0255]);title('对椒盐噪声的均值滤波模板a');
a1=1/13.*[00100
01110
11111
01110
00100];
b1=conv2(a1,II1);
figure;imshow(b1,[0255]);title('对椒盐噪声的均值滤波模板a1');
a2=1/34.*[11111
12221
12221
12221
11111];
b2=conv2(a2,II1);
figure;imshow(b2,[0255]);title('对椒盐噪声的均值滤波模板a2');
a3=1/16.*[121
242
121];
b3=conv2(a3,II1);
figure;imshow(b3,[0255]);title('对椒盐噪声的均值滤波模板a3');
%---------对高斯噪声做均值滤波---------%
II2=rgb2gray(I2);
a=1/9.*[111
111
111];
b=conv2(a,II2);
figure;imshow(b,[0255]);title('对高斯噪声的均值滤波模板a');
a1=1/13.*[00100
01110
11111
01110
00100];
b1=conv2(a1,II2);
figure;imshow(b1,[0255]);title('对高斯噪声的均值滤波模板a1');
a2=1/34.*[11111
12221
12221
12221
11111];
b2=conv2(a2,II2);
figure;imshow(b2,[0255]);title('对高斯噪声的均值滤波模板a2');
a3=1/16.*[121
242
121];
b3=conv2(a3,II2);
figure;imshow(b3,[0255]);title('对高斯噪声的均值滤波模板a3');
%对噪声污染的图像做中值滤波:
%---
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字视频 图像 处理 通信 实验 指导书