前言:中文期刊网精心挑选了计算机硬件研发范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机硬件研发范文1
关键词:计算机 应用 软件 开发技术
中图分类号:TP 文献标识码:A 文章编号:1007-0745(2013)06-0349-01
1引言
当处于20世纪50或60年代的事前,人们是通过手工方式来实现软件系统开发的工作,这就简单地认为计算机软件即为程序。伴随着操作应用化、经济商业化、通用兼容化与大型扩展化等各种形式软件的相继开发,软件系统的开发设计者慢慢地感觉到需要提供有一定程度规范化的文件用于保证程序从开发设计、调试处理与运行显示等环节的顺利完成。由此直至20世纪的70年代时期,社会上认为软件不但只是程序而且应当包含开发设计、调试使用、维护处理等这方面执行所需要的所有文件[1]。直到20世纪80年代的时期,国际标准化组织为软件工程给出了官方的定义,即为计算机应用程序、实现这程序功能所需要应用的方法、规定以及相关的文件与在计算机系统上执行所需要的数据信息都称之为计算机软件。
2应用软件开发技术
2.1生命周期法
生命周期方法定义了根据时间角度对于软件实行定义、开发与维护的综合复杂问题进行相应分解,可以分为若干个不同的功能阶段。每一个对应阶段的开始与结束一般都会有严格的制定标准,上一个阶段的结束代表着下一个阶段的开始。制定标准作为每一个阶段都应当提交高质量形式的文件,软件相应的生命周期通常会分成六个不同的阶段。
2.2原型化方法
传统模式的生命周期法相应理论基础相对比较严密。对于通常情况的软件实际开发过程,应当通过严格过程的定义与事先说明,并且要求对软件实践开发人员与使用用户在操作系统对应的初始阶段,应当对整一个的功能结构与数据信息需求做出全面系统、准确细致而深刻地肯定。一般情况下使用用户制定出概括性的软件实现目标然而无法表达具体的输入或者输出要求。软件开发实践人员很有可能不能够确保算法的执行处理效果、操作系统的兼容性与被用户使用的人机界面模式[2]。
2.3原型的三种形态
2.3.1纸上模式原型。这一种纸张与墨水的实际模型对于软件系统上的一部分特点进行相应的描述。
2.3.2工作模式原型。制定使用所需软件过程中的一部分相应功能,使其能够在计算机系统上执行处理,能够让使用用户与实践开发者在各种程度上实现了解。
2.3.3现有模式原型。使用一个能够真正运行的操作程序,可以完成使用所需目的功能的某些部分,其中有一部分应当在新的开发过程实行改进与完善。
2.4原型法开发过程
利用原型法开发软件大致经过可行性研究阶段、确定系统的基本要求阶段、建造原始系统阶段、用户和开发人员的评审阶段、开发人员修改系统阶段。
2.5 自动形式的系统开发方法
此类方法的特征在于使用了第四代技术所包括的许多软件开发设计工具,使得软件实践开发者只需要说明软件所需要进行实现的具体内容,却没有必要说明怎样去实现处理。4GT 的软件实践工具可以依据系统规定从而进行需要的分析,达到自动设计与自动编码的目的。在软件工程的实践开发过程当中,不能够武断地去选取某些特别的方法,应该跟相应的使用特征来决定所需要使用的方法[3]。
3.应用软件维护方法
3.1对软件工具的模块化以及质量技术进行提升
现代模式软件的开发具体工作中不断意识到可维护性的关键作用,所以在实际开发过程当中通常都会对其进行考虑,相应软件的实践开发工作应当需要减弱成本达到提升质量的目的,从而做到两者最有效的方式。所以就把软件开发实践过程实行模块化分割处理,这样就能够依据需求对相应功能模块执行增加、修改与删减等操作反而不必要进行整体性地调整,同时不会对其他的模块产生相应影响,通过这样的形式能够完成程序需要的功能增加、修改、删除与查询等处理操作。
3.2创建精密的软件品质目标和优先级
应用程序的维护性应当具有可理解的、可靠的、可修改、可测试的、可移植的、可以使用与效率高等各种特点。为了能够达到这些目的,相应付出的相当大的代价,然而这也未必是可行的。一部分运行质量特点存在着互补性的特征,比如可理解性、可测试性、可理解性与可修改性等各个具体方面。所以其它一部分质量特点会产生互相矛盾的结果,比如效率、可移植性、效率与可变性等方面。
3.3选有可维护的程序设计语言
依据程序的可维护性特点,选择合适的程序设计语言,这方面的影响是非常大的。低级别的编程语言为机器语言与汇编语言,这是十分难以理解与掌握,同时更加难以对其实行维护工作。高级别的语言则显得易于理解,然而作为高级别编程语言,其难易程度的区别也是应当是可以理解的[4]。
4 结束语
目前阶段计算机系统技术在整一个国民经济领域之中包含了十分广泛的应用,对于人们的实际日常生活,计算机系统技术显示出无处不在的特点,把软件技术视为其内部结构灵魂的计算机信息化系统,对于系统的高度集成化、结构功能分布化、信息多元化与功能智能化等各系列新型方向的趋势发展越来越重视,并且能够逐步在实践过程中得以实现。在实际软件开发的各个过程阶段中,软件的可维护性保持在这一阶段而都成的,所以应当在整一个软件开发过程中提升软件相应的可维护性。
参考文献:
[1]王炽鸿.计算机辅助设计[M].北京:机械工业出版社,1998.
[2]丁剑洁,基于度量的软件维护过程管理的研究[D],西北大学,2006.
计算机硬件研发范文2
关键词:计算机硬件发展;应用;维护与管理
中图分类号:TP303
计算机以令人惊诧的速度更新换代,迅速而深刻地改变着人们的生活,而计算机领域内部的规律也蕴含在这些变化中,也在一定程度上反映了计算机硬件发展的可能趋势,诸如内存、处理器以及显示器等硬件设备保持高速增长等势头,计算机也在向微型化、智能化以及网络化等方向发展。而对于不断遇到的各种各样的问题,计算机硬件的维护则是一项艰巨的任务,需要我们在不断实践的基础上进行总结及探索。
1 计算机硬件基础
1.1 概念。计算机系统中由各种电子、光电元件以及机械等组合而成的各种装置称作计算机硬件。这些装置在计算机系统的结构和功能要求之下会形成一个有机整体,为计算机软件提供一定的物质基础,在计算机程序的控制之下实现数据的计算和输入输出等任务。
1.2 基本构成。计算机硬件的五大基本构件是输入设备、运算器、存储器、控制器以及输出设备构成,虽然计算机本身的制作工艺不断发生改变,但其基本构件的组成是不变的。
2 计算机硬件发展现状和趋势
2.1 处理器的发展。从处理器的发展以及市场需要来看,双核和多核的发展与应用是一种不可逆转的趋势,而且已经形成一种无可比拟的优势,生产商也在不断生产和推广多核和双核处理器,科技发展也对双核和多核处理器寄予深厚的期望。这些暗示都表面,未来处理器的市场将属于双核和多核,而且我们深信,它们将会有辉煌的明天。
2.2 存储器的发展。社会在不断进步,人们创造的数据信息越来越多,其速度也越来越快,因此,人们对于数据的存储方式要求也越来越高,对存储硬件的需求也呈现爆炸性的趋势,其关注的重点也慢慢由原来的容量逐渐向存储器的速度和可靠性转移了。简而言之,就是说,未来存储器将会向更大、更小和更低的方向发展,发展的五个主要指标是容量、速度、价格、体积以及可扩充性。这些改变在闪存存储器中表现得十分明显。低能耗的特点更加符合国际潮流,也促进了便携式产品的发展壮大。非易失性存储器相对于易失性存储器而言,在读取和写入时更加缓慢,非易失性存储器在写入上还存在一定的局限性,即在写入操作达到一定的上线时会出现故障问题。针对这一问题,在存储器具备非易失性的同时,还消除读取和写入限制,降低消耗功率,这正式新一代非易失性存储器的发展前景。
2.3 设备的发展。设备是由输入设备、输出设备和辅助存储器构成,其中输入和输出设备的不断发展使得人与计算机之间的界面越来越和谐美好。70年代中期之前,主机部分在计算机硬件中占主导地位。但是,号称计算机“手足”和“数据仓库”之称的设备的性能不断提高,尤其是在数据库技术日益成熟的压力之下茁壮成长的辅助存储器,更是突出了设备的重要地位。在人与计算机交互的界面上,由起初枯燥的数字和文字,演变为后来的图形,这使得人们越来越能感受到计算机的人性化特点。现代化的今天,输入和输出设备更是想智能化、高能化和多媒体方向发展。此外,由于设备对于高能化和智能化的发展方向,微处理器和软件越来越多地被嵌入设备中,而原来设备中的一些控制功能也部分性地被设计进CPU之中,从而降低成本以及改善计算机的性能。嵌入式领域的发展使得存储器的容量大大提高,能耗也大有降低,摩尔定律的继续使用也将不断增加晶体管资源,从而为计算机硬件的发展提供物质基础。
3 计算机硬件的故障分析
3.1 对软件故障进行排查。在计算机出现故障之后,应注意“先软件后硬件”的原则进行维护和管理,在排除了计算机系统中毒或者是文件异常丢失、系统注册表受到损坏硬盘主引导记录损坏的情况之后,再来检查是否为硬件设备的问题。
3.2 对电脑进行观察。首先观察计算机所出现故障时显示器显示内容同正常情况下的异同;其次,电脑内外所表现出来的一系列的物理情形特征等;再次是观察计算机的环境,包括所在位置以及环境温度和湿度,最后应该注意电脑的软硬件配置和系统资源的使用情况等。
3.3 排除外设故障。计算机外设故障出现的部件主要有显示器、鼠标键盘、UPS电源以及打印机等。显示器的故障多数是因为长时间开机,散热不畅,致使显示主板元件烧坏引起的,也使显示元件受到不同程度地损坏;鼠标键盘故障主要因为过多使用造成UPS故障常见的是无法给电脑正常供电,主要是红灯长亮,蜂鸣器长鸣或电压不稳,最终造成UPS损坏打印机故障主要是因长时间使用造成的打印头自然耗损或墨粉不足等原因引起的。
4 计算机硬件的维护处理
4.1 设备的维护与管理创新。对于计算机设备主要侧重于维护方面,重点放在计算机显示器的维护和管理上,这样可以很好的避免显示器的使用功能受损。主要需要注意的点是不要经常地打开和关闭显示器,并且避免灰尘和潮湿性物质落入,并用专用的清洁剂和抹布进行清洁处理。对于显示器中的灰尘,应该使用毛刷进行处理。使用鼠标时避免用力点击鼠标,免损坏鼠标的弹性开关。尽量减少鼠标的磨损,可以垫上鼠标垫。对于键盘的管理,最好使用键盘垫,并且注意不要将液体洒在键盘上,否则会引起键盘短路。同时注意在更换键盘的同时要关闭计算机,避免计算机的其他部位因此产生故障。
4.2 主机内部器件的维护与管理创新。(1)计算机CPU。对于计算机内部器件的维护主要是包括对CPU的保护和对内存与硬盘的维护与管理。在计算机系统及其设备正常运行的过程中,要保证好计算机CPU良好的散热性以及保证主机正常运行的条件,散热条件不合格不仅会影响计算机系统的正常运行,甚至会造成重新启动甚至是死机的状况。在进行CPU的维护过程中,还应该主义对于CI刀的通风散热装置做好灰尘清洁工作,避免由此造成的通风散热问题。最后还要保证CI刀的运行频率,从而确保CI刀的工作运行频率正常,避免折损CI刀的使用寿命和计算机系统的正常运行。(2)计算机内存与硬盘。计算机内存和硬盘的管理,首先应该注意在计算机内存条升级使用时,选择与原来的内存条相同品牌的使用,同时也要保证升级之后的内存条与原配的使用频率相同,以免影响计算机系统的正常运行及其稳定性。在更换计算机内存条的同时,应该注意保证所更换的内存条的工作电压与计算机系统正常运行时的电压一致。其次对于以及氧化的内存条可以用橡皮擦去氧化层从而正常使用。对于计算机硬件的管理,首先应该注意的一点是在硬盘读写时不能断电,以免损坏硬盘。其次是要做好硬盘的防震工作,避免在硬盘的使用过程中有所震动。除了避免硬盘受到震动之外,还可以使用海绵或泡沫作为硬盘的保护层。最后,在日常生活中应该避免将硬盘放在磁场干扰强烈的地方,诸如手机、音箱附近等。
5 总结
随着科技的发展和人们生活水平的提高,计算机已经成为人们日常工作与学习不可或缺的一部分,而对于计算机硬件的研究以及故障分析和维护管理,对提高计算机的使用效率有重大意义,而且也深刻影响着人们的生活,所以我们应该在整体和系统的方法论之下,加大对计算机硬件的认识和研究,以更好地利用计算机这一有利资源。
参考文献:
[1]陈珊珊.计算机硬件维护与故障分析[J].电脑学习,2009,2:115-116.
[2]齐志亚.计算机硬件日常维护与故障排除[J].硅谷,2010,5:107.
计算机硬件研发范文3
信息化的高速发展标志着信息时代来临,信息化也为人们的生活工作提供了方便快捷,随着计算机信息技术的发展,计算机软件的开发和应用,成为当今信息技术产业中至关重要的行业。由于计算机软件开发与计算机技术发展,是密切相关、密不可分的,计算机技术的发展促进计算机软件的开发与应用,同时,计算机软件的应用与发展也在不断的促进计算机技术的进步。总的来说总而言之,计算机软件开发与计算机技术的发展,在人们的生产生活中,起到不可忽视的作用。
2 影响计算机软件开发的主要因素
计算机软件主要包括分为系统软件和应用软件两种。系统软件的主要任务是维护计算机的正常运行和监控计算机的软件,如我们所熟知的windows系统;而应用软件的主要作用是解决一些具体的问题,比如统计软件、管理软件等。计算机软件在开发过程中受到很多因素的影响,本文这个部分将逐条分析讨论,得出影响计算机软件开发的主要因素。
2.1 开发计算机软件人员的素质
在计算机软件的开发过程中,起到很重要作用的关键因素是负责计算机软件开发的技术人员,而且开发应用过程中对其技术人员的要求都十分严格。创造性高、反应性快是计算机软件开发技术人员的基本素质要求,除此之外,计算机基础知识扎实、良好的反应思维等都是必备条件。换句话说,计算机软件开发人员的基本素质决定着软件开发的质量,其良好的职业道德水平也对计算机软件开发的技术保密性起到良好的保护作用。
2.2 计算机软件开发的应用前景
从根本上来说,计算机软件是一件商品,而其开发技术人员就是负责生产商品的人。如果一项计算机软件开发出来,没有人愿意使用,那么这项技术可以被判定为无用的。计算机软件开发人员的设计软件目的,一是为了更好的适应市场需求,满足更多计算机用户的需求;二是应客户要求开发软件,便于后期推广,这两个目的都是计算机软件开发和推广的应用前景。软件的市场需求和推广性能,也影响着计算机软件的开发。
2.3 计算机软件设计推广的良好环境
在美国,硅谷之所以能够成为全国的科技交流中心,就是因为硅谷给各大企业、各大公司营造了一种适于开发和竞争的良好商业环境。对于计算机软件的设计推广企业来说,拥有一个良好的环境去从事和生产计算机软件,意义非常巨大。然而我国的计算机产业链条还有待完善,软件设计产权保护不完整、没有正规的商品化开发市场、软件设计市场鱼龙混杂等问题阻碍着国内计算机软件市场的成熟。
2.4 计算机软件工程化问题
国内的计算机软件开发体系还处于起步阶段,很多实时软件都需要进一步工程化,然而国内的工程化问题还没有得到解决,这也需要广大设计人员和政府人员的共同努力,早日提高计算机实时软件设计的工程化水平,以便于促进计算机软件事业的发展。
2.5 计算机软件设计的前期规划
做任何事都需要前期规划,才能在后期得到更好的应用,计算机软件设计也不例外。一般来说,在软件设计中通常会存在许多设计理念和现实情况的落差过程,这就需要技术人员事前做好合理的规划和制定规范的目标。实际的规划程度在一定程度上影响软件的开发质量,在设计过程中需要拿出足够的精力和时间,科学合理安排开发设计,在工作过程中,将设计、规划、测试、维护软件的流程一步到位,确保计算机软件的设计质量。
3 解决影响计算机软件开发因素的主要措施
针对本文前一部分提到的影响计算机软件开发的主要因素,这一部分将给出解决这些问题的主要措施,这些问题的解决也是中国计算机软件开发行业必须经历的过程。虽然问题不少,但是国内计算机软件开发行业的势头还是非常强劲。
3.1 改善计算机软件开发的行业环境
良好的政策、市场环境才能够促进和保护行业的发展,政策的保护和完善需要政府工作人员进行调整,市场环境的维护则需要每一位技术人员和用户切实保护计算机软件开发行业。只有改善行业环境,才能够使计算机软件开发工作变被动为主动。
3.2 规范计算机软件开发人员的培训和晋升
规范的人才管理也能够促进行业的进步发展,目前来说,我国计算机软件开发工作中的人才规格参差不齐,鱼龙混杂,虽然其中不乏很多优秀人才,但也有很多影响行业发展的滥竽充数之人。对这个问题,要做到把计算机软件开发人员的培训和晋升工作做到规范化、专业化、强制化,只有这样才能够从人才规格角度保证计算机软件开发行业的发展进步。
3.3 合理规划计算机软件开发的过程
计算机软件的开发过程并不是一蹴而就的,在其开发过程中往往会出现很多问题,设计、规划、测试、维护都会出现许多问题,这就需要前期规划尽量合理实际、后期操作严谨灵活,只有这样才能保证计算机软件开发的质量。
计算机硬件研发范文4
关键词:故障诊断,软硬件故障
1、绪论
当前,全球网络高速发展,计算机网络已经在普通用户中广泛使用,与此同时,网络故障也变的极为普遍,然而,由于计算机网络自身的复杂性,维修保障非常困难。用户在计算机网络使用中,常常分辨不出网络故障原因,不知道究竟是软件故障,还是硬件故障。一旦发现问题,他们除了进行常规硬件检查和软件系统重启等简单操作外,对于整体故障,尤其是软件失效引起的故障,常常毫无办法,本文首先简单介绍故障诊断相关术语,进而简述计算机网络软硬件故障特性,结合诊断实例,综述计算机网络故障的排除。
2、计算机网络软硬件故障特性
虽然有各式各样的网络故障,但所有的故障总体可分为物理故障与逻辑故障,也就是通常所说的硬件故障与软件故障,因此具有典型的软件故障特征。许多故障和征兆之间常常不存在一一对应的简单关系,维修难度大。总的说来,故障具有如下特性:
层次性:这是故障的“纵向性”。计算机网络,结构可划分为系统、子系统、模块、部件等各个层次,其功能也可划分为若干层次,因而其故障和征兆也有不同的层次。任何故障都是同系统的某一层次相联系的,高层次的故障可以由低层次的故障所引起,而低层次的故障必定引起高层次的故障。因此在故障诊断中可设计某种层次诊断模型。
相关性:这是故障的“横向性”,它是由系统各元素间的联系所决定的。当一个元素或联系发生故障后,可能导致同它相关的元素或联系的状态发生变化,进而引起相关元素或联系也发生故障。某一故障可能对应若干征兆,而某一征兆可能对应若干故障,它们之间存在着错综复杂的关系,造成故障诊断困难。故障的相关性使得许多的故障现象可以归根于同一个故障,从而可以从不同的角度对同一个故障进行诊断。
不确定性:这是故障的“模糊性”。故障和征兆信息的随机性、模糊性,故障和征兆之间对应关系的不明确性,不确定性是计算机网络的一个重要特性,对相同的系统而言,或对同一系统在不同时间、不同工作环境下而言,各层次的元素特性与各元素间的联系特性是不可能完全确定的,其变化规律难以确定,从而导致元素、联系直至系统的状态和行为也不可能完全确定,因而其故障也是不确定的。
3、计算机网络软硬件故障的表现症状
软硬件故障通常表现为以下几种情况:
①电脑无法登录到服务器;
②电脑无法通过局域网接入Internet;
③电脑在“网上邻居”中只能看到自己,而看不到其他电脑,从而无法使用其他电脑上的共享资源和共享打印机;
④电脑无法在网络内实现访问其他电脑上的资源;
⑤网络中的部分电脑运行速度异常的缓慢。
4、常见计算机网络软硬件故障的解决方法
当出现一种网络应用故障时,如无法接入Internet,首先尝试使用其他网络应用,如查找网络中的其他电脑,或使用局域网中的Web浏览等。如果其他网络应用可正常使用,如虽然无法接入Internet,却能够在“网上邻居”中找到其他电脑,或可ping到其他电脑,即可排除连通性故障原因。如果其他网络应用均无法实现,继续下面操作。
①看LED灯判断网卡的故障
首先查看网卡的指示灯是否正常。正常情况下,在不传送数据时,网卡的指示灯闪烁较慢,传送数据时,闪烁较快。无论是不亮,还是长亮不灭,都表明有故障存在。如果网卡的指示灯不正常,需关掉电脑更换网卡。
②用ping命令排除网卡故障
使用ping命令,ping本地的IP地址或电脑名(如shj831),检查网卡和IP网络协议是否安装完好。如果能ping通,说明该电脑的网卡和网络协议设置都没有问题。问题出在电脑与网络的连接上。因此,应当检查网线和Hub及Hub的接口状态,如果无法ping通,只能说明TCP/IP协议有问题。这时可以在电脑的“控制面板”的“系统”中,查看网卡是否已经安装或是否出错。如果在系统中的硬件列表中没有发现网络适配器,或网络适配器前方有一个黄色的“!”,说明网卡未安装正确。需将未知设备或带有黄色的“!”网络适配器删除,刷新后,重新安装网卡。并为该网卡正确安装和配置网络协议,然后进行应用测试。如果网卡无法正确安装,说明网卡可能损坏,必须换一块网卡重试。如果网卡安装正确则原因是协议未安装。
③如果确定网卡和协议都正确的情况下,还是网络不通,可初步断定是Hub和双绞线的问题。为了进一步进行确认,可再换一台电脑用同样的方法进行判断。如果其他电脑与本机连接正常,则故障一定是先前的那台电脑和Hub的接口上。
④如果确定Hub有故障,应首先检查Hub的指示灯是否正常,如果先前那台电脑与Hub连接的接口灯不亮说明该Hub的接口有故障(Hub的指示灯表明插有网线的端口,指示灯亮,指示灯不能显示通信状态)。
通过上面的故障压缩,我们就可以判断故障出在网卡、双绞线或Hub上。
当电脑出现协议故障现象时,应当按照以下步骤进行故障的定位:
①检查电脑是否安装TCP/IP和NetBEUI协议,如果没有,建议安装这两个协议,并把TCP/IP参数配置好,然后重新启动电脑。
②系统重新启动后,双击“网上邻居”,将显示网络中的其他电脑和共享资源。如果仍看不到其他电脑,可以使用“查找”命令,能找到其他电脑,就完成了。
5、 结束语
网络发生故障是不可避免的。针对于单独的硬件故障诊断相对简单,但是对于由软件故障或者因为软件引起的硬件故障,诊断相对困难,本文给出了软硬件相互影响的故障诊断方法,但对由于软件引起的硬件故障研究不够,需要进一步研究。
参考文献
[1]周炎涛.计算机网络实用教程(第2版).电子工业出版社
计算机硬件研发范文5
关键词:计算机应用软件;开发过程;编程语言
引言
在信息化时代下,我们的生活、生产模式都发生了巨大的改变,比如在计算机技术的不断进步和发展下,其为人们的生活就带来了巨大的便利。现如今,计算机技术已经被广泛地应用在各行各业中,并且发挥着尤为重要的作用。而计算机的运用就是根据编程语言编写的程序运行的。因为不同的编程语言在思想和方法上存在不小的差别,因此在选择不同编程语言开发软件的时候,相关工作人员就需要及时调整自己的思路,这样就可以保证计算机软件开发的质量。不仅如此,在编程方法的辅助之下,各种现实问题也可以得到解决,通过科学合理的数学模型可以让相关的工作变得更有效率,从而大大地节省了劳动资源。这其中的关键就是需要选取合适的编程语言展开软件开发。
1计算机中常被使用的几种编程语言
在计算机当中,C语言这种变成语言是将过程作为中心的,而另一种C++语言则不同,其是以对象作为核心的一种编程语言。在诸多计算机编程语言当中,C语言算是十分有难度的一种,因为C语言拥有高等语言的特点,还拥有低等语言直接操作硬件的能力,正是因为C语言的这些特点,若是编程人员要这种编程语言熟练的掌握和深入的理解,就必须具备十分扎实的基础和熟练的操作[1]。C语言和C++语言两者之间最大的不同之处就是其解决问题的思想和方法是存在差异的。具体来说,C++语言能够把面向对象可以接触的内容扩展,不仅如此,C++语言当中具备十分丰富的设计概念,比如数据包封对于C++语言来说都是十分常见的。C语言与C++语言虽然在解决问题的思想和方法上是不同的,但如果能够将这两种编程语言可以有效地结合在一起,就能够发挥出很大的功能。现阶段的JAVA语言在计算机当中可以说是具备十分广泛的用途,和计算机编译执行语言与解释执行语言两者相比,JAVA语言还是存在一些不同之处的。JAVA语言拥有面向对象以及可跨平台的特点,不仅如此,JAVA语言中还包括简单、分布式性能高等优点,其能够把一个强大语言当中的全部功能都提供给计算机运用[2]。不过JAVA语言对于运行的条件也是相对严苛的,还有就是JAVA语言在桌面程序开发中的运用效率也相对较低。C#语言作为一种计算机编程语言,其拥有简洁、安全、精确等优点,其面向的对象大多是数据的处理,这也是因为微软将来的发展方向,其将会集中在分布式应用程序。具体来说就是在客户计算机以及服务器上把处理的过程一起,因此C#语言的研发针对的就是使应用程序方面的问题。相比JAVA语言,C#语言存在一定不同之处,其并未把指针以及手动内存管理完全抛开。不仅如此,正是对C#语言的不断研发,相关经验得到了大量积累,最终诞生了.net平台。
2如何对计算机编程语言做出合适的选择
在计算机软件开发当中,编程语言的使用范围其实是不确定的,这些编程语言都可以进行有效的结合,从而形成软件系统,可以说这些编程语言充满了各种可能性。不过,要想达到如此要求,其关键前提就是软件工程师必须对这些编程语言有着十分深入的理解和掌握[3]。不过,这些编程语言却是存在共同之处,这就类似于各种语言之间也有一定的相同之处。因此,软件工程师可以先对一种编程语言进行熟悉和掌握,这样其对于其他编程语言的掌握也会变得更加容易。在软件开发的过程当中,其前提便是需要具备足够的硬件环境,因此,必须对软件开发的硬件环境加强重视,在编写程序时,选取合适的编程语言也是十分关键的阶段,需要对语言的分布选取进行有效的确定,还需要将编程语言的环境适应力以及整体框架考虑进去。在选择合适编程语言的过程中,应该尽量结合行业以及使用范围的要求[4]。一般而言会发生编程语言现在符合环境,但如果计算机设备进行更新,软件也会发生不适用等情况,如此便会导致计算机无法正常的使用。因此在开发软件程序前,必须选取和软件整体内外环境相匹配的编程语言,如此才可以让最终编写好的程序能够跟上科技发展的步伐。不仅如此,选择好的编程语言还需要具备容易调整等优点。在选取编程语言之前,还需要针对各种影响因素展开深入的分析,在其中第一个要思考的问题就是编程语言应用的行业以及领域,可以从编程语言应用行业与领域的差异,对不同类型的编程语言特点进行相应的结合运用,之后再选取符合软件开发的编程语言编写。比如,若是软件开发其针对的是底层行业,其程序编写就可以选取C语言以及C++语言。由此可见,编程语言应用领域的不同也对软件开发产生很大的影响[5]。计算机是根据相关编程语言编写完成的程序运作的,因此,在计算机软件的开发当中,相关工作人员需要运用自身熟练的编程语言来进行编写。若是工作人员不用自己熟练掌握的编程语言编写,就会导致工作人员编程时间的增加,不仅如此,在编写程序的过程中,编程人员也会因为编程语言的不熟练而十分的吃力。人们在使用计算机的过程中,还需要输入相关的编程语言从而对计算机相应指令,之后就可以在相应的平台上利用编程语言的优势来操控计算机。除此之外,在软件的开发当中运用熟练掌握的编程语言,可以对自身熟悉的编程语言进行一定的创新,这样就能够让编程语言变得更为灵活,从而提升软件开发的效率。
3结语
计算机硬件研发范文6
【关键词】边缘检测 高斯平滑
1 引言
随着图像处理技术的发展与广泛应用,现在社会中图像处理的应用领域越来越广泛,如三维重建,医学诊断,图像识别等等。而图像处理过程中,最重要的一项预处理技术即为边缘检测技术。
图像的边缘是图像特征识别中的重要组成部分。我们一般认为边缘是图像中周围像素有不连续变化或屋脊变化的像素的集合。在一幅图像中,边缘特征所表达的信息量在整张图片的特征信息中占有主导地位,对图像特征的识别、分析十分重要。边缘信息主要从像素值幅度和走向两个方面来表示。一般来说,沿着边缘走向的像素点灰度值呈连续性变化特征,而垂直于边缘走向的像素点灰度值则呈跳跃性或阶跃性变化特征。边缘检测技术即为通过一定的算法将图像中的边缘尽可能真实地提取或表示出来的技术。边缘检测技术发展到目前已有很多类提取算法,但主要的计算原则就借助于类似高斯平滑、傅里叶变换等的数学函数与图像的灰度矩阵进行卷积计算,从而得到横、纵两个方向上的梯度图像和模图像,然后根据梯度方向来进行模的极大值提取,获得需要的图像特征边缘。本文主要研究的是以canny算子为检测手段的边缘检测算法。
2 canny边缘检测算法
任何一个边缘检测算法的原则都是真实、详尽地标识出原图像的实际边缘,同时又尽可能避免图像中的噪点、伪边缘等噪声的干扰,找到一个最优的图像边缘。Canny边缘检测算法也是如此,一般由抑制噪声、寻找梯度亮度、非极大值抑制、确定和连接边缘这四步完成的。
2.1 1抑制噪声
任何图像在进行边缘检测之前,都要进行抑制噪声的预处理。它是所有图像处理过程的第一步。图像的噪声主要有椒盐噪声和高斯噪声两种,而绝大部分图形的干扰噪声属于高斯噪声,因此canny算法的第一步采用的是运用二维高斯平滑模板与原图像数据进行卷积计算,而得到抑制噪声后的待处理图像。
从草帽图中我们可以看出处于草帽顶点位置的像素值比其他任何位置的像素值都大。通过高斯平滑模板滤波后,我们就是要保留草帽顶点的像素点,而忽略周围的像素点,这样就可以将噪声尽可能的去除,同时又最大程度的保留原图像信息。从lena图像中我们可以看出经过高斯平滑滤波后的图像要比原图像模糊,但同时也增加边缘点确定的准确度。
2.2 寻找亮度梯度
图像中的边缘走向我们无法预测。在 Canny算法通常使用模板从水平、垂直和45度对角线方向进行检测。通过模板与原图像像素点支所作的卷积值,我们可以标识出每个点上的最大值以及可能的边缘走向。由此,我们就得到了每个点的亮度梯度及走向。
通过图4分析发现,经过亮度梯度的寻找和边缘检测后,图像边缘的整体轮廓已经显示出来,但图像中存在真实边缘较粗和伪边缘存在的现象。
2.3 对亮度梯度进行非极大值抑制
一般来说,在图像梯度矩阵中,元素值大的像素点对应的亮度值则大,为边缘点的可能性最大。但并不就此认定该点就是边缘点,它也可能是伪边缘点。在Canny算法中,我们利用非极大值抑制来进行边缘检测,以去除伪边缘点。
设图像中的像素点为 ,分别与其周围8个邻域里梯度亮度方向上两端的像素点 和 比较。如果 > 且 > ,则 其可能是真实边缘点,否则其肯定不是边缘点,将其梯度亮度值归零。
通过非极大值抑制后,我们通过图5可以看出,真实边缘的线条已明显细化,但仍然存在伪边缘像素点。
2.4 确定并连接边缘点
经过非极大值抑制后的图像的边缘像素点一般都具有较高的梯度亮度,但多大的梯度亮度值可以确定为边缘点,在实际使用中有没有一个确切的答案。我们在Canny算法中一般使用了滞后阈值法来确定和检测边缘点。
滞后阈值法一般需要设定高和低两个阈值。高低阈值的量值决定了边缘点的数量。如果阈值选择的过高,则有可能出现边缘点太少,出现部分真实边缘信息丢失,无法完整连接真实边缘,边缘连续性下降。如果阈值选择的过低,则有可能出现边缘点太多,不能有效去除伪边缘,影响边缘检测效果。
经过滞后阈值法过滤并连接边缘后,我们从图6可以看出图像的真实边缘已经几乎表示出来。
3 结论
Canny边缘检测算法是一种非常有效的边缘检测算法。它通过高斯平滑滤波有效的去除图像中可能存在的噪声,通过寻找梯度亮度检测出图像存在的边缘特征,通过非极大抑制和滞后阈值法高效的去除边缘中存在的伪边缘和虚假边缘,在抑制噪声和保持边缘连续性方面取得很好的平衡。但同时我们在实验中也发现,在噪声抑制的过程中,高斯模板的选取直接关系到图像的处理效果。模板选取越大,噪声抑制效果就越好,图像也越平滑,但边缘定位也越不精确,同时计算量也显著增加,处理速度变慢,这对于要求实时处理图像就无法满足。模板选取的小,噪声抑制效果就差,虚假边缘出现的几率高,但边缘定位相对精确,处理速度快。因此选取合适的高斯平滑模板是canny边缘检测算法的关键,一般我们通常选取3*3或5*5的模板即可。
参考文献
[1] 罗述谦,周果宏.医学图像处理与分析[M].北京:科学出版社,2003.
[2] Canny J.A computational approach to edge detection[J].IEEE Trans on PAMI,1986,8(6):679-698.
[3] Mark S.Nixon.特征提取与图像处理[M].北京:电子工业出版社,2010.
[4] Chen W F.et aj.A new algorithm of edgedetection for color image:generalized fuzzy operator[J].Science in China(A),1995(10).
[5]孙笋.轮廓和边缘检测方法研究[D].北京交通大学硕士论文,2010.
[6] MJ Turner,JM Blackledge,PR Andrews.Fractal Geometry in Digital Imaging[M].Springer-Verlag Press,1999.
[7]袁华.边缘检测及其在医学图像中的应用[J].生物医学工程学杂志,2001(01).
[8]许杰,戚大伟.基于Canny算子的医用X光图像边缘检测算法研究[J].辽宁中医药大学学报,2008(03).