- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业设计论文
基于vc数字图像处理系统
摘要:
数字图像处理是从 20 世纪 60 年代以来随着计算机技术和 VLSI 的发展而产生、发展和不断成熟起一个新兴技术领域,它在理论上和实际应用上都取得了巨大的成就,并引起各方面人士的广泛重视。本实验研究基于VC平台的数字图像处理基本操作的方法,并在VC平台下实现。该软件可对数字图像实现基本的处理操作,包括对图像的点运算、几何变换以及部分正交变换的操作。
该软件功能包括对图像的打开、图像处理的基本操作以及保存新生成的图像。
关键字:
数字图像处理、vc++6.0平台、vc++6.0编程工具
引言
数字图像处理采用一定的算法对数字图像进行处理,以获得人眼视觉或 者某种接受系统所需要的图像处理过程。图像处理的基础是数字,主要任务是进行各种算法设计和算法实现。通过界面实现显示原数字图像以及操作后的效果图。通过界面实现不同操作方法的选择、参数设置等,能通过编程实现对处理后的图像进行保存、生成新的图像文件,能实现不少于6种基本操作。其目的是进一步理解数字图像的原理、基本操作;掌握对数字图像处理操作的实现过程;学习使用Visual C++进行软件编程;熟悉数字图像文件的基本格式。
设计流程及结果显示
设计平台
Visual C++6.0
设计思想、框图及显示界面
思想:首先建立OPEN()函数,然后调用子程序OpenBMP(CString fileName)打开bmp位图,调用子程序DrawPic(unsigned char* pDa, int dx,int dy)显示图片。接着实现图像放大、图像缩小、反色、阈值变换、镜像变换、显示系统时间等功能。
框图:
调用子程序OpenBMP()
调用子程序OpenBMP()
打开图片
调用子程序DrawPic()
显示图片
实现的功能
图像放大
图像缩小
阈值变换
反 色
镜像变换
时间显示
对话框背景图
平 移
建立函数OPEN()
开 始
显示界面:
(3)各模块功能及流程图
图像显示
原理:
调用OpenBMP()子程序打开图片,调用DrawPic()子程序显示图片。
流程图:
显示结果:
图像放大
原理:
最邻近点插值算法是最简单也是速度最快的一种算法,其做法是將放大后未知的像素点P,將其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。这种方法会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。
流程图:
开始
开始
i=0,j=0
in_height
j宽度
Y
放大m_nFD倍
Y
j++
i++
N
N
结束
显示结果(放大2倍):
图像缩小
原理:
即图像尺寸发生了变化,变小了。比如图像缩小一半,新图像坐标(2, 2)对应的像素值为原图像(4,4)处的像素值。公式表示为:f(x1,y1) = f(x1*n, y1*n),n为缩小倍数。
流程图:
显示结果(缩小2倍):
d.图像平移:
原理:
即对图像进行上下、左右的移动,移出显示范围的图像像素丢弃,空出的显示范围补255(全白)。比如,图像在x,y方向移动距离分别为m,n个像素,则新的图像像素值f(x1,y1)定义如下:
if(x1-m=0 x1-mwidth y1-n=0 y1-nheight) //坐标(x1-m, y1-n) 在原图像范围内
f(x1,y1) = f(x1-m, y1-n);
else f(x1, y1) = 255;
显示结果(x平移50,y平移100):
e.图像对称:
原理:即以中心为原点构成坐标系,对图像进行x轴对称变换、y轴对称变换。比如,x轴对称变换:f(x1,y1) = f(width-x1, y1);y轴对称变换:f(x1,y1) = f(x1, height-y1)。
显示结果:
X对称:
Y对称:
原点对称:
f.图像阈值变换:
原理:
即选择一个阈值,对图像进行二值化。比如,设定阈值thr=100,则像素值小于100的像素值变为0,其他的像素值变为255。
显示结果(阈值为45):
g.图像反色:
原理:
即将图像灰度值作如下变换:y1 = 255 - y0,y0为像素原始值,y1为像素反色后的值。
显示结果:
h.时间显示
原理:
显示结果:
i.灰度均衡化
原理:
流程图:
显示结果:
软件调试分析
(1)显示图像前,需把以下代码添加到.h的文件中
long g_height;
long g_width;
bool IsFirstDraw;
tagRGBQUAD m_orgRGBQUAD[256];
unsigned char*OpenBM
您可能关注的文档
- 基于solidworks的齿轮油泵设计_机电系毕业设计.doc
- 基于SolidWorks的冲裁模三维标准件图库系统设计_学士学位论文.doc
- 基于Solidworks的减速器设计及仿真_毕业设计论文.doc
- 基于SolidWorks的凸轮轴三维实体设计_毕业论文.doc
- 基于SolidWorks的凸轮轴三维实体设计毕业论文.doc
- 基于SolidWorks的兆瓦级风机偏航系统三维建模设计.doc
- 基于Solidworks的组合夹具的参数化设计_毕业设计论文.doc
- 基于Solidworks的组合夹具的设计与应用_毕业设计论文.doc
- 基于SolidWorks机床夹具库的设计与管理_毕业设计论文.doc
- 基于solidworks汽车凸轮轴的三维实体设计毕业设计论文.doc
文档评论(0)