1、3.3系统界面需求分析 94 概要设计 104.1系统流程 104.2功能框架结构 124.3用户界面设计 134.4小结 135 详细设计 145.1 Color Filter(色相) 145.2 Gamma(曲线) 175.3 Brightness(亮度) 195.4 .Contrast(对比度) 215.5 Grayscale(灰度) 245.6 Invert(底片效果) 257 总结与展望 277.1 总结 277.2 展望 27参考文献 281.绪论1.1课题研究的目的以及意义获得的信息和图形图像的信息交流主要来源是经过视觉去提取相关的信息。并且是最有效的视觉探知的方法,图像的处理技
2、术已成为各个领域得科研工作者研究和认定的最有效的手段,其中包括:航天科学,电子学,医学等。图像处理技术是一项比较广泛而又较实用的科学。而且它在心理学,生物工程,金融,计算机,学校等领域得到了非常广泛的应用。本文的意义在于发展自我收集的数据和调查能力熟悉的数字图像处理的二进制图像处理技术和验证二值图像处理。而且也能提高学生的自我解决问题能力,以及给未来充电。电脑对图像的噪声,加强,恢复,剪切,特征提取等加工方法和技巧就是图像处理技术。从1970左右图像的处理技术的各项应用以及逐渐需求的的增长。促使人们提出了更加促进本学科先进的发展方向。重点是在现场及时理解和计算机视觉等方面,两维图象技术已经用来
3、开发处理三维图像以及解释三维图像了。近年来,随着计算机和数字图像处理应用越来越广泛其它相关领域的快速发展,从空间探索到微观研究(如癌细胞的检测),从军事部门,以工业和农业生产,从科学教育,娱乐游戏(如大家来找茬)等。从研究的专业领域到科学和人机接口,通用的应用工具,数字图像处理。总体而言,21世纪的数字图像处理往往纯数字,并希望在高品质的方向发展。品质的加强包含:多媒体化,快速,三维立体,高分辨率,自动化和标准化。在此次毕业设计中,我主要研究的是利用C#编程出数字图像处理系统,完成一些经常用到的图像处理功能,掌握BMP位图文件格式。包括图像的打开,显示和保存以及实现图像的Filter(过滤)、
4、Gamma校正、Brightness(亮度)、Contrast(对比度)、Grayscale(灰度)、Invert(底片效果)等图像处理实施方案:人们得到信息的主要来源都源自于图像。因而,图像的处理技术的应用肯定会牵扯到人们生活里的方方面面。在图像处理领域的应用人类活动的范围不断扩大也将不断扩大,已然成为国家安全,经济发展和社会稳定越来越重要的角色,在国民经济中的作用也不容小觑。1.2 国内外研究现状图像的处理技术早期是出现在1950年。在那会计算机的平均水平已经到了一个非常可观的程度了。然后人们开始用计算机做一些图形图像的处理。图像处理大概是在1960年左右才正式创办了这个学科。最早时候图形
5、图像技术的主要任务是为了提高图片的效果。它是仅仅是以人来做为一个参考的对象用以提高人的视觉整体效果。图像处理就是把低质量的图片输入进去,进行还原高质量的通常它是使用像图像的复原,编码,增强和压缩等处理。第一次的试验成功是在美国的喷气式推进实验室里面。他们当时通过太空探测仪拍摄的照片进行复原等图像处理技术进行处理成功的绘制出了月球表面的地图。此后又通过外太空的探测器发回的图片进行图像处理成功的恢复出了月球表面的彩色地图,为人类进行登月做出了伟大的贡献。同时加快了图像图形处理技术这么学科的产生。在之后的航天领域里。如研究和探索金星,木星等外太空,数字图像处理技术也发挥着非常重要的作用。在20世纪7
6、0年代一个来自英国的工程师Housefild在EMI公司发明了X射线的计算机断层的映射装置诊断颅骨情况,也就是我们常说的CT。第二年在此前的 技术的基础下发明了全身的为单位的CT仪。并1990年代获得非损害性诊断技术的诺贝尔奖。同时表明了它为人类做出了伟大而又跨越时代的贡献。而且图形图像的处理在很多的地方受到了关注,而且取得了一些很明显的成果,这些地方包括:外太空探测,生物工程,工业检测,智能视觉,国家安全,军事作战,教育领域。总的来说图像处理已成为一个非常重要的科学,拥有光明的前景。在数字图像不断的发展。许多国家里像一些发达国家更应该投入人力和物力到研究里面去,使得人类将取得一大批重要的研究
7、成果。1978年由麻省理工提出的图像处理尖端领域,在后十年一直引导着世界图像处理技术。图形图像的处理技术在教育的领域里也取得了不小的成果。但是本身就是一个非常困难理解学科。因此它需要科学家投入更多的资源去探索和开发相关技术,促进计算机科学在视觉领域得发展。2 图像处理原理与技术2.1 主要应用主要应用包括在医学,航天,金融,教育,军事等相关技术都于图像处理技术的发展息息相关。这些年来,计算机的视觉识别技术和图形图像理解的技术发展的非常的迅速。这是图形图像的处理技术的另外的原因,直接供人观看(如医学图像为医生监视诊断),而且计算机视力不佳的进一步发展相关的应用,如自动行驶的车辆,智能眼镜。以下是
8、一些典型的应用实例只是一个列表,并且实际应用更广。(1)生物医学中的应用包括显微图像处理; 分析及显示DNA螺旋式结构;对血球的红,白细胞分析及记数,以确定肿瘤细胞;染色体分析,等等。(2)遥感应用空间军事侦察,导航和指挥等应用;分析卫星及云层;地势的相关状况以及对大地客观测量;(3)工业应用CAD和CAM技术加工,零部件制造,服装,印染等行业;(4)在公安领域的军事应用克鲁斯地形识别; AFIS;识别手写识别,人像,密封;过期的恢复文本文件;无盒检查容器等。(5)其它应用智能电视;可视电话。2.2 C#在图像处理中的应用它在图形图像的处理里面主要功能包含转换彩色图像,灰度图形图象的处理和图形
9、的图象增亮过程。为图像处理部中的程序代码被包括在一个特殊类别内筛,并且在调取类的静态成员函数可以达到适当的图像处理效果。在图形图像的处理过程中我们需要图中的每个像素点进行依次处理。正如我们所知的图像是由每一个像素点构成的,处理好了每一个像素点也就处理好了整张图片了。所以在处理图像的过程里,我们只需要考虑每一个像素点的问题,并不需要考虑一张图所有像素点在这个过程中,我们只需要处理与每个像素点然后慢慢的遍布整张图,所以相对来说更加的简单。BitmapData类是不能直接提供GDI +访问内部的图像数据的方法的。现在只能通过指针去调取图形图像内部的信息。那么就要必须的使用关键字来指示图形图像的数据的
10、存取功能不安全一个模块。而且这个过程里我们也用打开和保存按钮以便我们辛苦的劳动成果不会白白的浪费了。3 可行性与系统需求分析主要图像的主要操作:打开,关闭,保存;图像的基本处理:Filter(过滤)、Gamma(校正)、Brightness(亮度)、Contrast(对比度)、Grayscale(灰度)、Invert(底片效果)3.1可行性分析(a)经济可行性分析:经济可行性分析主要是估计值,并且可以得到开发成本效益评估,拟以确定系统是否值得投资和开发,研制。在开发成本方面的估计,由于这种软件的大小由较小的开发成本制定不高,个人开发者所能承受的。(b)技术可行性分析: 技术可行性分析的主要目的
11、是未来对系统的功能性,性能性和一些规则的限制条件的分析,并且在以及拥有的资源下考虑是不是能实现相关的功能。 (c)用户使用可行性分析: 随着计算机的普及,大学一般使用办公室的电脑,基本上每个人都在计算机的基本操作。该系统的操作非常的简便,界面也非常的简洁,良好适用性。这样来说,所以操作是可行的。因为微型计算机的技术发展,图像的处理技术也越来越接近生活了。现如今的图像处理系统以及发展的非常的成熟了,在已经在市场的多数软件都相对来说很成型了。总结汇编,后系统已不是一系列可行性分析是多了,我们已经发现,即使已经制定并在成熟和完整的使用,使系统可以立即启动开发3.2系统功能需求分析本系统主要考虑以下几
12、个功能:Filter(过滤)、Gamma(校正)、Brightness(亮度)、Contrast(对比度)、Grayscale(灰度)、Invert(底片效果)。 Gamma(曲线):Gamma(曲线)从CRT(监视器/电视)的响应曲线,就是亮度和输进来的电压它们之间的非线性关系。Gamma(曲线)校正补偿现有彩色显示的差别,因而在不同的设备里图像的显示效果是非常接近的,几乎可以达到相同。 Brightness(亮度):从中等一系列非常暗淡(暗)到非常亮(亮)之间的颜色不显示颜色相近的颜色范围。这个区间范围内是在-255到255之间。 Grayscale(灰度):Grayscale(灰度):灰
13、色与黑色调表示物体。在每个像素点都有从0到100的灰度值。通常生成的图像黑白或灰度扫描仪显示为灰色。 Invert(底片效果):减去各颜色分量的由255例如,红色为当前像素00的值,一般设定值为II=255-0。3.3系统界面需求分析一个软件好不好用主要是看他是否你让用户能更加容易的和有效的使用该系统的关键。从现在的市场需求来看,一个好的友好型软件可以在市场具有更好的竞争力。因此我们不仅需要在核心技术上有过硬的技术,还必须在用户体验上投入精力。本系统采用大众界面的开发,更加简洁的界面已经友好的操作体验,美观得体的要求。界面的设计一般情况下都是按照下面的基本原则: 一致的用户界面风格。保证界面和
14、产品他们俩的相同性。对于一个列表框,在点击该条的条目在点击该条目下面的字列表条目具有相同的事件。 接口布局是非常重要的。首先他需要从上到下从左到右的进行阅读,因为这些要求都是根据人类的习惯进行编排的。 信息和标签的写法应该是合适的。显示器上的各类文本的信息是使用者可以得到信息的最主要的来源。要是文辞没有写好,这样用户将很难去理解本意所以文辞非常重要。所以在写说辞时一定要注意不要去写那种缩写,这样很容易让用户理解不清楚造成用户体验非常差。 使用适当的颜色。使用颜色要谨慎。如果使用的话,还使用了指示器。问题在于,一些用户可能色盲。对于大部分来说颜色不是阻碍他们理解信息的的障碍石,但是作为一个进入市
15、场的软件同样需要考虑部分小群体,所以在软件字体颜色上,我们需要做到全面。所以我们必须在做一些额外的工作使得软件的可使用性达到最大化。4 概要设计4.1系统流程图形图像的处理系统分成三个部分。一开始是图形图像的信息收集,其次是图形图像的分析,最后是图形图像的处理并进行界面表达。图像信息收集阶段就是对图片进行扫描收集好每一个像素点然后进行保存好。然后在对每一个像素点进行进行分析判断它的值并给与标识,最后通过相应的算法进行进行相应的图像处理。通过在每个目标图像和之前图像的像素关系,进行抽象的符号运算,理解和解释原始图像内容来把握客观场景的描述,研究的主要阶段的性质图像理解,客观世界提供信息,引导和调
16、节行为,这样的过程和人类思维是及其相识的。由于时间及能力的原因,这次系统设计只能实现以下几个功能:完成了图像处理中的打开、关闭、保存、Filter(过滤)、Gamma校正、Brightness(亮度)、Contrast(对比度)、Grayscale(灰度)、Invert(底片效果)等处理;图4-1 总体框架流程图 这次的设计是建立在图形图像的分析的过程:运行程序,首先选择位图文件路径,选择图像文件,再对选取的位图文件进行图像处理,Filter(过滤)、Gamma校正、Brightness(亮度)、Contrast(对比度)、Grayscale(灰度)、Invert(底片效果)等处理。 4-2
17、打开图像处理流程4-3 图像保存处理流程4.2功能框架结构本系统采用C语言在VC6.0平台下实现。整个系统的功能采用菜单式法,也就是系统进入到MainDlg时用户可以通过系统Menu来进行一系列的操作,下面简述一下系统的功能。图像基本处理:这个功能就是将选取的图像进行处理,将选取的BMP格式的图像分别进行各种功能的处理,也可以对图片同时进行各种功能的处理,最后将图像保存为BMP格式。退出系统:推出所有服务和关闭所有相关进程。文件的功能模块分为打开、保存两个功能。打开:为用户提供浏览BMP图片的功能。保存:用户截图下来的图像会在MainDlg界面中显示出来,用户可以通过这个功能来将处理后的图像保
18、存下来。4-4系统设计总体框架34.3用户界面设计 系统界面设计如图4-5所示:图4-5 系统界面4.4小结本节主要是对系统的概要设计,从刚开始的完全没有头绪到最后的慢慢有了思绪,并且在老师和同学的帮助下对系统的流程和步骤更加的清晰,然后在画流程图也就非常顺利了。这有助于我之后的代码实现,使得编写程序不会那么的无头无需了,加快了系统设计的进程,其实这程序最主要也是最难的就是一些图像处理的算法,以及对图像的像素点的遍历和获取,做好了这些事也就把这个系统最主要的地方解决了。最后谢谢老师和同学们的帮助。 5 详细设计负责图像处理的ImageHandler类其中有以下功能,比如图像的存储、图像间的关联
19、操作等。功能包括:获取图片的信息、Filter(过滤)、Gamma校正、Brightness(亮度)、Contrast(对比度)、Grayscale(灰度)、Invert(底片效果)。Paint主要是使用AutoScoolPosition属性来发现滚动的位置,然后使用AutoScrollMinSize属性进行设置。5.1 Color Filter(色相) 关于色相的说明: 从光感,色相的不一样是因为光波长的长度不一样。彩色的滤光片是对色彩的光谱吸收类别进行分类:短,长,混合等波长;然后合并成切片形状,在单颜色或者彩色的颜色之间变换。这个相对简单的,只要减小每个像素的值就可以达到了。也使图片25
20、5至零下两种颜色。例如,蓝相,在保证蓝色值的不改变的状况下,而绿色和紫色分别以减去255。图5-1导入原图图5-2 RedFilter结果图图5-3 GreenFilter结果图图5-4 BlueFilter结果图Code: / 设置色相 public void SetColorFilter(ColorFilterTypes colorFilterType) Bitmap temp = (Bitmap)_currentBitmap; Bitmap bmap = (Bitmap)temp.Clone(); Color c; for (int i = 0; i bmap.Width; i+) fo
21、r (int j = 0; j bmap.Height; j+) c = bmap.GetPixel(i, j); int nPixelR = 0; int nPixelG = 0; int nPixelB = 0; if (colorFilterType = ColorFilterTypes.Red) nPixelR = c.R; nPixelG = c.G - 255; nPixelB = c.B - 255; else if (colorFilterType = ColorFilterTypes.Green) nPixelR = c.R - 255; nPixelG = c.G; els
22、e if (colorFilterType = ColorFilterTypes.Blue) nPixelB = c.B; nPixelR = Math.Max(nPixelR, 0); nPixelR = Math.Min(255, nPixelR); nPixelG = Math.Max(nPixelG, 0); nPixelG = Math.Min(255, nPixelG); nPixelB = Math.Max(nPixelB, 0); nPixelB = Math.Min(255, nPixelB); bmap.SetPixel(i, j, Color.FromArgb(byte)
23、nPixelR, (byte)nPixelG, (byte)nPixelB); _currentBitmap = (Bitmap)bmap.Clone();5.2 Gamma(曲线) Gamma(曲线)从CRT(监视器/电视)的响应曲线,就是亮度和输进来的电压它们之间的非线性关系。Gamma(曲线)校正补偿现有彩色显示的差别,从而使在不同的显示器的图像显示相同的效果的不同的输出设备。图5-5原图图5-6 Gamma校正结果图 / 曲线 public void SetGamma(double red, double green, double blue) byte redGamma = CreateGammaArray(red); byte greenGamma = CreateGammaArray(green); byte blueGamma = CreateGammaArray(blue); bmap.SetPixel(i, j, Color.FromArgb(redGammac.R, greenGammac.G, blueGammac.B); / 获取曲线数组 / 色彩returns数组 private byte Cre
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1