版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数字图像处理》试验指导书
前言
本试验指导书可作为电子信息工程、通信工程、生物医学工程等专业《数字图像处理》课程的
试验指导书。
试验指导书共供应了6个试验,要求在VB环境下实现。试验名称与学时支配详见下表。
试验名称与学时支配表
序号章目名称学时安排
I图象的读取保存及图像的二值化处理2
2FT变换以及FFT2
3DCT变换以及FDCT变换2
4简洁增加技术和直方图均衡2
5空域和频域滤波2
6阈值分割和边缘检测分割2
合计12
试验教学基本要求:
1、在试验前,仔细打算,熟识和驾驭相关试验内容的基本算法和程序设计技术。
2、依据试验目的和要求,按时仔细完成各试验的上机操作。
3、试验结束后,要刚好提交经调试正确的程序源代码、生成的可执行文件、试验报告书等文档。
试验一图象的读取保存及图像的二值化处理
一、试验目的
1、熟识《数字图像处理》的试验平台。
2、了解YB对图像进行处理的基本方法。
3、熟识彩色图像变成灰度图象以及灰度图像转换成二值图像的基本原理及处理过程。
二、试验打算
1、复习彩色图像变成灰度图象以及灰度图像的二值化处理的基本原理。
2、阅读下列内容,了解VB对图像进行处理的基本方法。
(1)读取图像
通过扫描仪、摄像机等输入计算机以.bmp、.ico或.wmf存储的图像文件,可用LoadPiciure函数
把图像文件装入窗体、图片框或图像框中,例如:
picture1.picture=lo2dpicture("c:\image\flower.bmp")
可以把路径为c:\image\flower.bmp的图像文件装入图片框picture1中。为了使图片框的大小与图像相
匹配,应将图片框的autosize属性设置为True。
(2)用Point方法获得彩色图像的颜色值
Point方法的功能是获得图像上指定像素的颜色值。格式为:
Objecl.Point(x>y)
其中,Object表示获得颜色的对象名,(x,y)为取得颜色的坐标位置。Point方法将指定位置的像
素的颜色值返回一个长整形数。例如,求图片框picture1中图像在位置(x,y)的像素颜色值(col)
时,可写为:
dimcolaslong
col=picturel.Point(x»y)
(3)用Psei方法画点
Pset方法的功能是在指定的位置画一个指定颜色的点。格式如下:
Object.Pset(x,y),〈颜色>
各部分的意义说明如下:
Object一一对象名,可以为窗体、图片框或打印机。
Pset------方法名。
(x,y)——画点的坐标位置,该坐标值以所给对象为参考点。
〈颜色》一一所画点的颜色,其取值为Rgb函数或QBColor函数的函数值。Rgb函数一般格式如
下:Rgb(r,g,b)
其中r、g、b分别代表红、绿、蓝,每个参数的取值为0〜255,。表示亮度最低,255表示亮度
最高。假如只有一个参数取值大于0,其他参数为0,就表示只有这一种颜色。如Rgb(255,0,0)
结果为亮红色。又如Rgb(255,255,0)是亮红色与亮绿色的混合色,结果是亮黄色。下表中给出
了Rgb函数中部分参数及结果。
QBColor函数一般格式如卜:
QBColor(参数)
其中参数取值为0〜15之间,每•个数值代表•种颜色。详细可参见下表。
(4)彩色位图颜色值分解
VB中供应了两个颜色函数:QBColor函数和RGB函数。其中,QBColor函数能够返回一个Long
型值,用来表示所对应颜色值的RGB颜色码。
像素颜色值是一个长整形数值,占用4个字节,最高位字节为0,其他3个低位字节依次为R、
G、B重量,值为0〜255。
两者的语法格式如下:
QBColor(color);
RGB(rcd,grccn,bluc)
其中,从col分解出R、G、B重量的算法为
col=Picturel.Point(x,y)
R=coland&hff
G=(coland&hffOO)/256
B=(coland&hffOOOO)/(256*256)
下表为不同颜色时两个函数对应的参数值:
QBColor参数Rgb参数颜色
00,0,()黑
10,0,128篮
20,128,0绿
30,128,128青
4128,0,0红
5128,0,128品红
6128,128,0黄
7192,192,192白
8128,128,128灰
90,0,255亮蓝
100,255,0亮绿
110,255,255亮青
12255,0,0亮红
13255,0,255亮品红
14255,255,0亮黄
15255,255,255亮白
三、试验内容与要求
1、用多种方法可编程实现将图片框1的图像诸像素复制到图片框2。可参照如卜.程序段:
fori=0topicture1.Wid(h-1
forj=0topicture1.Height-1
c=picture1.Point(i,j)
r=(cand&hff)
g=(cand&hfKX))/256
b=(cand&hffOOOO)/(256*256)
picturc2.pset(i,j),RGB(r,g,b)
nextj
nexti
或者picture1.picture=pic[ure2.picture
2、用不同方法编程实现将彩色图像变成灰度图像。可参考如下程序段:
fori=0topicture1.Width-1
forj=0topicture1.Height-1
c=picturel.Point(i,j)
r=(cand&hff)
g=(cand&hffOO)/256
b=(cand&hffU000)/(256*256)
rr=(r+g+b)/3
gg=(r+g+b)/3
bb=(r+g+b)/3
picture2.pset(i,j),RGB(rr,gg,bb)
nextj
nexti
3、会依据不同阈值编程实现灰度图像转化为二值图像。
四、试验报告
1、提交经调试正确的程序源代码及相关文档。
2、总结调试程序时遇到的问题及解决方案。
五:思索题
在对图像进行复制或者灰度改变的时候,VB处理速度特别慢,问题出现在哪里?
有什么方法可以解决?(提示:Point方法是提取象素点DI百法)
3、
试验二FT变换以及FFT
一、试验目的
1、驾驭傅立叶变换的原理和性质。
2、驾驭快速傅立叶变换的原理和方法。
二、试验打算
1,复习傅立叶变换和快速傅立叶变换的相关学问。
2、参考如下程序段,编写实现傅立叶变换的程序。
Forx=0ToM
Forv=0ToN
Fory=0ToN
re(x,v)=re(x,v)^(-1)Ay*f(x,y)*Cos(2*pi*(v*y)/N)
im(x,v)=ini(x,v)+(-1)Ay*f(x,y)*Sin(2*pi*(v*y)/N)
Nexty
Nextv
Nextx
Forv=0ToN
Foru=0ToM
Forx=0ToM
Real=Real+(-1)Ax*(1/N)*(re(x,v)*Cos(2*pi*(u*x)/M)+im(x,v)*Sin(2*pi*
(ii*x)/M))
imag=imag+(-1)Ax*(1/N)*(im(x,v)*Cos(2*pi*(u*x)/M)-rc(x,v)*Sin(2*pi*
(u*x)/M)
nextx
nextu
Nextv
3、参考如下程序段,编写实现快速傅立叶变换的程序。
一维FFT模块参考程序段:
PrivateSubWFft(PixelR()AsDouble,Pixell()AsDouble,wr()AsDouble,wi()AsDouble,ByVaiM
AsInteger,ByVaiNAsInteger)
DimIp,k,kk,1,incr,Iter,i,jAsInteger
DimTr,TiAsDouble
lp=l:kk=(N/2):incr=2
ForIter=0ToM-I
Forj=0ToN-1Stepincr
i=j+lp
Tr=PixelR(i)
Ti=Pixell(i)
PixelR(i)=PixelR(j)-Tr
PixelI(i)=PixelI(j)-Ti
PixelR(j)=PixelR(i)+Tr
Pixell(j)=Pixell(j)+Ti
Nextj
If(Iter<>0)Then
Fork=1ToIp-I
1=k*kk-1
Forj=kToN-1Stepincr
i=j+lp
Tr=PixclR(i)*wr(l)-Pixcll(i)*wi(l)
Ti=PixelR(i)*wi(l)+Pixell(i)*wr(l)
PixelR(i)=PixelR(j)-Tr
Pixell(i)=Pixell(j)-Ti
PixelR(j)=PixelR(j)+Tr
Pixell(j)=PixeII(j)+Ti
Nextj
Nextk
EndIf
kk=kk/2
Ip=Ip*2
incr=incr*2
NextIter
EndSub
三、试聆内容与要求
1、实现对一幅灰度图像的傅立叶变换和快速傅立叶变换,比较运行时间。
2、分析低频成份和高频成份对图像的作用。
四、试验报告
1、提交经调试正确的程序源代码及相关文档。
2、总结调试程序时遇到的问题及解决方案。
试睑三DCT变换以及FDCT变换
一、试验目的
1、驾驭离散余弦变换的基本原理。
2、熟识离散余弦变换及其•快速算法。
二、试验打算
1、复习离散余弦变换的相关学问。
2、编写实现离散余弦变换的程序。
三、试验内容与要求
1、编程实现对一幅灰度和彩色图像的离散余弦变换,选择适当的DCT系数阈值,对其进行DCT
反变换。
2、o
四、试验报告
I、提交经调试正确的程序源代码及相关文档。
2、总结调试程序时遇到的问题及解决方案。
试验四简洁增加技术和直方图均衡
一、试验目的
1、了解图像增加技术的主要方法。
2、驾驭直方图增加的基本原理。
3、了解并驾驭直方图统计方法以及分段线性拉伸、直方图均衡等亮度调整算法。
二、试验打算
1、复习图像增加技术的主要内容。
2、依据以下要求编写实现简洁图像增加的程序。
(1)图像求反:将原图灰度值翻转。
(2)对比度增加:博加图像各部分的反差。
(3)二值化处理:籽一幅灰度图象变换为黑白二值图象。
3、参考以下程序段编写显示图像直方图的程序。
Fori=0ToPicturel.Height-1
Forj=0ToPicture1.Width-1
c=Picture1Poinl(i,j)
r=cAnd&HFF
g=(cAnd&HFF00&)/256
b=(cAnd&HFF0000)/65535
rl=(r+g+b)/3
h(rl)=h(rl)+1
Nextj
Nexti
Fori=0To7
Forj=0To31
MSChartI.Row=i+1
MSChartl.Column=j+1
MSChartl.Data=h(i*32+j)/258/258
Nextj
Nexti
4、参考以下程序段编写对图像进行直方图均衡化的程序。
直方图均衡化就是把一已知灰度概率分布的图象经过一种变换,使之演化成一幅具有匀称概率
分布的新图像。
Fori=0To255
Forj=0Toi
s(i)=s(i)+h(j)7258/258
Nextj
s(i)=Int(s(i)*255+0.5)
Nexti
Fori=0ToPicture1.Height-1
Forj=0ToPicturel.Width-1
c=Picturel.Point(iJ)
r=cAnd&HFF
g=(cAnd&HFFOO&)/256
b=(cAnd&HFFOOOO)/65535
rl=(r+g+b)/3
rl=s(rl)
hl(rl)=hl(rl;+1
Picturc2.PSct(i,j),RGB(rl,rl,rl)
Nextj
Nexti
Fori=0To7
Forj=OTo3l
MSChart2.Row=i+1
MSChart2.Column=j+1
MSChart2.Data=hl(i*32+j)/258/258
Nextj
Nexti
三、试验内容与要求
1、调试运行自己编写的实现简洁图像增加的程序。
2、通过编程运行,视察各类图像的直方图。
3、采纳直方图均衡方法对低对比度的图像进行对比度增加。
四、试验报告
I、提交经调试正确的程序源代码及相关文档。
2、总结调试程序时遇到的问题及解决方案。
试验五空域和频域滤波
一、试验目的
1、驾驭空域滤波和频域滤波的基本原理。
2、熟识空域滤波中所用到的几种常用模板,熟识频域滤波中的几种滤波器。
二、试验打算
I,复习空域滤波和频域滤波的相关学问。
2、参照以下程序段编写用邻域平均法和中值滤波法消退图像噪声的程序。
Fori=0ToPicture1.Height-1
Forj=0ToPicture1.Width-1
c=Picture1Point(i,j)
r2(ij)=cAnd&HFF
g2(i,j)=(cAnd&HFF00&)/255
b2(i,j)=(cAnd&HFF0000)/65535
Nextj
Nexti
Fori=1ToPictureLWidth-2
Forj=1ToPicture1.Height-2
x=1
Forp=i-1Toi+1
Forq=j-1Toj+1
rx(x)=r2(p,q)
gx(x)=g2(p,q)
bx(x)=b2(p.q)
x=x+1
Nextq
Nextp
Forp=1To8
Forq=1To8
Ifrx(q)>rx(q+1)Then
y=rx(q)
r.K(q)=rx(q+1)
nc(q+l)=y
EndIf
Ifgx(q)>gx(q+1)Then
>=gx(q)
gx(q)=gx(q+1)
gx(q+l)=y
EndIf
Ifbx(q)>bx(q+1)Then
y=bx(q)
bx(q)=bx(q+1)
bx(q+l)=y
EndIf
Nextq
Nextp
Picture2.PSet(i,j),RGB(rx(5),gx(5),bx(5))
Nextj
3、任选以下两种算子(梯度算子、GAUSS算子、Sobel算子、拉普拉斯算子、Roberts算子等)
编写对图像进行滤波的程序。
参考程序段1:
Fori=1ToPicture1.Width-2
Forj=1ToPicture1.Height-2
rl=r(i,j-1)
r2=r(i-l,j)
r3=r(i,j)
r4=r(i+1J)
r5=r(i,j+l)
fx=-l#*rl-I#*r2+4#*r3-I#*r4-l#*r5
rx=Abs(fx)*5+20
Picturc2.PSct(i,j),RGB(rx,rx,rx)
Nextj
Nexti
参考程序段2:
Fori=0ToPictureI.Width-2
Forj=0ToPicture1.Height-2
rl=r(i,j)
r2=r(i+l,j+l)
r3=r(i+l,j)
r4=r(i,j+1)
fx=rl-r2
fy=r3-r4
rx=(Abs(fx)+Abs(fy))*5
Picture?.PSet(i,j),RGB(rx,rx,rx)
Nextj
Nexti
三、试验内容与要求
1、运行邻域平均法和中值滤波法消退图像噪声的程序,视察去噪效果,比较两种去噪方法的特
点。
2、运行用算子对图像进行滤波的程序,视察滤波效果,比较各种算子的特点。
四、试验报告
1、提交经调试正确的程序源代码及相关文档。
2、总结调试程序时遇到的问题及解决方案。
试验六阈值分割和边缘检测分割
一、试验目的
1、驾驭灰度阈值分割法的基本原理。
2、驾驭边缘检测分割法的思想以及几种常用的检测算子。
二、试验打算
1、复习灰度闹值分割的相关学问。
2、参照以下程序段计算图像的灰度阈值。
Fori=iToPicture1.Height-2
Forj=1ToPicture!.Width-2
hu(i,j)=(r(i,j)+g(iJ)+b(iJ))/3
Forkl=-1To1
Fork2=-lToI
ch=hu(i,j)-hu(i+k1,j+k2)
Ifch>=0Then
sl(hu(i,j))=sl(hu(i.j))+ch
Else
s2(hu(i,j))=s2(hu(i,j))+ch
EndIf
Nextk2
Nextkl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026青海海西州大柴旦矿区人民法院招聘4人备考题库及一套答案详解
- 2026浙江宁波市江北区人民政府咨询委员会招聘编外人员2人备考题库附答案详解(基础题)
- 2026湖南郴州文旅集团郴心游分公司招聘2人备考题库及答案详解(典优)
- 2026福建厦门市集美区蔡林学校产假顶岗教师招聘4人备考题库附答案详解(b卷)
- 2026福建源昌实验幼儿园(南安六幼)招聘专任教师1人备考题库附答案详解(培优a卷)
- 2026广东广州南沙人力资源发展有限公司招聘实习教师备考题库附答案详解(典型题)
- 幼儿园运动会心得体会十篇
- 2026上海银行暑期实习生招聘备考题库附答案详解(黄金题型)
- 2026棕榈生态城镇发展股份有限公司招聘9人备考题库及答案详解(真题汇编)
- 2026浙江湖州德清县体育产业发展有限公司招聘工作人员1人备考题库附答案详解(预热题)
- 2026年历史中考汕头试卷及答案
- 2026河南豫能控股股份有限公司及所管企业招聘31人备考题库及参考答案详解(能力提升)
- 劳务合同2026年合同协议
- 2026年离婚协议书
- 中考历史【小论文题】答题技巧
- 中职《内科学》(人卫版 第9版)同步课件 高原病
- 2025年产前筛查和产前诊断题库(带答案)
- 井下电钳工考试题库(2025年版国家题库)
- 文创产品打样合同范本
- 2024年A特种设备相关管理(A4电梯)考试题库附答案
- 粮库有限空间安全培训课件
评论
0/150
提交评论