085图像处理
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
第三章 图像处理技术 【买计算机毕业论文就到计算机毕业论文网】 think58
[资料来源:THINK58.com]
基本图像处理技术
图像的颜色是由三种基本颜色,即红(R)、绿(G)、蓝(B)有机组合而成的,称为三基色。每种基色可取0到255的值,因此由三基色可组合成(256*256*256)1677万种颜色,每种颜色都有其对应的R、G、B值。例如,常见的7种颜色及其对应的R、G、B值如图2所示。
对一幅彩色图像的各像素值进行变换并依变换后的新像素值重新显示,则可以实现不同的显示效果 本文来自think58
[来源:http://www.think58.com]
think58.com [来源:http://www.think58.com]
内容来自think58 [来源:http://think58.com]
内容来自think58
本文来自think58 [版权所有:http://think58.com]
[资料来源:THINK58.com]
think58好,好think58
think58 [资料来源:http://think58.com]
[来源:http://www.think58.com]3.1过滤技术
包括锐化、浮雕、风化、腐蚀。这里介绍两种分别是锐化和浮雕。
1.位图图像的锐化处理的算法如下:
计算源图像像素f(i,j)的像素值与边缘上相邻像素f(i-1,j-1) 像素值之差的绝对值的百分比之和,然后将该值作为处理后图像像素g(i,j)的像素值。例如:
rr=r1+0.25*abs(r1-r2)或者 0.25改为0.5也可gg=g1+0.25*abs(g1-g2)
bb=b1+0.25*abs(b1-b2)
式中r1,g1,b1分别为f(i,j)的红、绿、蓝分量值, r2,g2,b2分别为f(i-1,j-1)的红、绿、蓝分量值, rr,gg,bb分别为g(i,j)的红、绿、蓝分量值。
2. 位图图像的浮雕处理的算法是
G(i,j)= f(i,j)- f(i-1,j)+常数
式中,G(i,j)为处理后图像的像素值,f(i,j)为源图像的像素值,F(i-1,j)为前一个相邻像素的值。常数一般取128。即
rr=r1-r2+128
gg=g1-g2+128
bb=b1-b2+128
式中, r1,g1,b1分别为为源图像的像素f(i,j)的红、绿、蓝分量值;r2,g2,b2分别为前一个相邻像素f(i-1,j)的红、绿、蓝分量值,rr,gg,bb分别为处理后图像的像素G(i,j)的红、绿、蓝分量值。
3.2 彩色图像变换
包括彩色转灰度、彩色转黑白、平滑处理、逆反处理和霓红处理。这里介绍一下彩色转灰度和逆反处理。 think58好,好think58 [资料来源:http://think58.com]
1.彩色图像生成灰度图像的一般算法如下:
Col=Picture1.Point(x,y)
r= Col AND &0xff
g=( Col AND &0xff00)/256
b=( Col AND &0xff0000)/(256*256)
rr=gg=bb=(r+g+b)/3
其中Col为获取到的像素值f(i,j),r,g,b分别为原像素值f(I,j)的分量值,rr,gg,bb分别为处理后g(i,j)的分量值。
2. 位图图像的逆反处理的算法如下:
rr=255-r
gg=255-g
bb=255-b
式中,r,g,b分别为源图像像素f(i,j)的红、绿、蓝分量值,rr,gg,bb分别为处理后像素g(i,j)的红、绿、蓝分量值。
3.3 卷积处理
卷积滤波的原理如下:
y(m1- 1, m2 - 1 )= ∑x(m1- n1 ,m2 - n2)*h(n1,n2)
式中x(m1,m2)为输入图像信号,h(n1,n2)为滤波系统对单位采样序列的 (n1,n2)响应,称 滤波算子。
3.4 滤波处理(1)平均值滤波(类似于柔化)平均值滤波是指在图像中以当前像素f(i,j)为中心切出一个N*M(例如3*3)像素组成的图像块,如图5-21所示的那样,设当前像素f(i,j)的灰度值为g(i,j)时,则
g(i,j)={ f(i,j)+ f(i-1,j-1)+ f(i,j-1)+ f(i+1,j-1)+ f(i-1,j)+ f(i+1,j) + f(i-1,j+1)+ f(i,j+1)+ f(i+1,j+1)}/9
(2)最小值滤波 [资料来源:http://www.THINK58.com]
最小值滤波是指在图像中以当前像素f(i,j)为中心切出一个N*M(例如3*3)像素组成的图像块,,设当前像素f(i,j)的灰度值为g(i,j)时,则g(i,j)取N*N个诸像素灰度值中的最小值。
(3) 最大值滤波
最大值滤波是指在图像中以当前像素f(i,j)为中心切出一个N*M(例如3*3)像素组成的图像块,设当前像素f(i,j)的灰度值为g(i,j)时,则g(i,j)取N*N个诸像素灰度值中的最大值。
3.5 对比度增强
对比度增强处理可以使图像对比度得到拉伸,产生原图像中颜色较暗的区域更暗,较亮的区域更亮的效果。
算法如下:
Vpic(2)= R*RELATIVE R > R
R/RELATIVE R ≤R
Vpic(1)= G*RELATIVE G> G
G/RELATIVE G≤G
Vpic(0)= B*RELATIVE B>B
B/RELATIVE B≤ B
式中,R、G、B分别为原始图像像素的红、绿、蓝分量值。RELATIVE为对比度拉伸算子。(可以改为任意值,不过一般不宜太大)数组Vpic()为输出图像像素的红、绿、蓝分量值。分别为R、G、B原始图像红、绿、蓝分量的平均值。 [资料来源:www.THINK58.com]
3.6 FFT分析
图像的傅立叶分析技术是图像处理的一项重要技术,它在频域内分析图像的特征。在医学领域的计算机层析技术中,傅立叶分析技术对图像的三维重建具有重要的意义。对图像进行二维FFT计算,可求得图像的振幅谱和相位谱。二维FFT算法如下:
(1)求出每一行的一维FFT,并存储在中间矩阵数组内。
(2)求出中间数组矩阵的每一列的FFT,得到的结果就是二维的 FFT。
(3)为了显示二维图像FFT的幅值,可以求出每一个图像点的复数的幅值|H(u,v)|。并将幅值作对数变换D(u,v)= Lg(1+|H(u,v)|),最后量化成可显示的0-255之间的数值。
可写为 F(k1,k2)= f(n1,n2)
F(k1,k2)= [ f(n1,n2) ]
令 G(n1,k2)= f(n1,n2)
则原式 F(k1,k2)= G(n1,k2)
式中 W1= ,W2= ,f(n1,,n2)为输入图像的像素值。
以上就是我选取的一些图像处理技术,这里举几例而已。
本文来自think58
[资料来源:www.THINK58.com]
[来源:http://www.think58.com]第四章 系统软件设计
[来源:http://think58.com]
4.1 软件设计
现在我们来介绍一下整个系统的程序设计,如何通过前面提到的VB平台和Windows API函数,把图像处理技术表现出来。
4.1.1 需求分析
根据现在社会的需求,要得到不同的图像效果也是理所当然的。接下来,我介绍一下本软件的大致要求及其需实现的功能模块。
在VB中,我们创建一些窗体。包括主窗体frmMain、工作区窗体frmPaint、工具窗体frmTool、调色板窗体frmColorcharge、历史框窗体Hstory、新建窗体frmNew、图像大小frmSize、控制窗体frmControl,其它为一些功能窗体,如对比度增强frmDuibidu,图像合成frmHecheng,FFT分析frmFFT。
主窗体frmMain:是整个软件的核心,我们用作VB中唯一的MDI窗体。MDI窗体是用来包容其它窗口的中心窗口。VB规定一个应用程序只能使用一个MDI窗体,因为一个MDI窗体用到了应用程序中的所有组件及功能。因此我们用它来作程序主界面。
工作区窗体frmPaint:被作为工作区,用来放置图片,进行图像处理以及其它操作。
工具窗体frmTool:放置在左端,有一些常用工具可进行选择使用。
调色板窗体frmColorcharge:作为调用系统颜色,选择颜色的用途。
历史框窗体Hstory:作为返回工具一样,可以使图片回到前几次处理的状态,不过,次历史框只允许回到前八次操作。 think58
[资料来源:http://think58.com]
控制窗体frmControl:作为工具栏的辅助,在工作区上端显示当前选择的工具。
新建窗体frmNew:新建一工作区域。
图像大小frmSize:对图像工作区域进行设置。只对新建区域有效。
那么我们在这里顺便介绍一下本软件用到的BAS模块文件。DailogAPI、GuiAPI、FFTMod、texiao、Simplepaints、PublicMod、PHMod1、PHMod2。这些模块文件都包含很多函数声明,以及很多算法都包含在其中。这些模块起到一定的声明作用,以及被其它程序调用。
DailogAPI包含获取公共对话框API函数,如打开指定文件,保存指定文件等。
GuiAPI包含大部分图形设备接口API函数,包括位图函数、剪切函数、颜色函数等,起到非常重要的作用。
FFTMod模块包含傅利叶算法、一维FFT模块程序,被frmFFT窗体调用,进行FFT分析。
texiao模块包含大部分图像处理技术的算法。被主窗体中菜单栏功能项中选择,进行图像处理。
Simplepaints模块是对工具栏中的算法进行总和,工具栏中的选择项中的功能都在此模块中体现出来。
PublicMod、PHMod1、PHMod2都算是公共的模块调用程序,包含公共的函数声明、公共变量和公共调用程序。
以上就是我们所设计的窗体和模块集。
该系统的功能主要集中在菜单栏和工具栏中,菜单栏包括以下方面选项: [来源:http://www.think58.com]
1. 文件:包括新建、打开、保存、关闭和退出几项。
2. 编辑:包括复制、粘贴、剪切、全选、取消选择和翻转。其中翻转包括水平翻转和垂直翻转。
3. 过滤:包括锐化、浮雕、腐蚀、风化。
4. 滤波处理:包括最小值滤波处理、最大值滤波处理和中值处理。
5. 彩色图像变换:包括彩色转灰度、彩色转黑白、平滑处理、霓红处理。
6. 软化硬化:包括软化红色、软化绿色、软化橙色,硬化红色、硬化绿色、硬化蓝色。
7. 卷积处理:包括水平增强、垂直增强和双向增强。
8. 边缘探测:包括右下边缘抽出、拉普拉斯(8邻域)。
9. 其它:包括对比度增强、FFT分析和图像合成。
10. 工具窗口:包括调色板、历史框和工具栏。
11. 帮助:关于软件的一些帮助信息。
copyright think58 [来源:http://www.think58.com]