陶瓷施釉和外观质量在线评测软件系统设计

陶瓷施釉和外观质量在线评测软件系统设计

ID:12580524

大小:510.00 KB

页数:36页

时间:2018-07-17

上传者:xinshengwencai
陶瓷施釉和外观质量在线评测软件系统设计_第1页
陶瓷施釉和外观质量在线评测软件系统设计_第2页
陶瓷施釉和外观质量在线评测软件系统设计_第3页
陶瓷施釉和外观质量在线评测软件系统设计_第4页
陶瓷施釉和外观质量在线评测软件系统设计_第5页
资源描述:

《陶瓷施釉和外观质量在线评测软件系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

景德镇陶瓷学院毕业设计(论文)正文中文题目:陶瓷施釉和外观质量在线评测软件系统设计英文题目:DesignofCeramicglazingandappearanceevaluationsystem院系:专业:姓名:学号:指导教师:起讫时间: 摘要目前,国内卫生陶瓷釉面质量的评价方式相对落后,大多采用人工评价方式,即利用有经验的师傅在特定的环境下,采用目测和触摸方法,检查陶瓷釉面色泽、平整性、厚度均匀性及表面产生的缺陷,根据检查结果进行综合判断以确定陶瓷釉面的分类。这种人工评价方式,不仅效率低下,而且评价结果与人的经验有关,经验不足可能导致某些陶瓷釉面分类不正确,分级不合理,从而影响卫生陶瓷产品质量的准确定位。因此,转变评价方式,提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。本文对卫生陶瓷产品釉面质量综合评价系统软件关键技术进行了研究,以C#语言开发评价管理等模块;采用Matlab编程开发图像预处理、综合评价等模块;利用组件实现VisualC#与Matlab混合编程;软件程序初步完成图像的采集、分析、评价等模块功能;经过测试软件实现了卫生陶瓷釉面的自动评价,操作简单方便,基本满足卫生陶瓷釉面质量综合评价的要求。关键词:卫生陶瓷釉面;综合评价;混合编程;C#35 AbstractAtpresent,thedomesticsanitaryceramicsglazedqualityevaluationmethodsisrelativelybackward,mostlyartificialevaluationmethods,namelytheuseofanexperiencedteacherinaparticularenvironment,usingvisualandtouchmethod,checkglazedceramiccolor,smoothness,thicknessuniformityandsurfacedefects,accordingtotheinspectionresultsareintegratedjudgmenttodeterminetheclassificationofglazedceramic.Thismanualevaluationmethods,notonlyinefficient,buttheevaluationresultsandtheexperiencesrelatedtolackofexperiencemaycausesomeglazedceramicincorrectclassification,gradingunreasonable,thusaffectingthequalityofsanitaryceramicsproductsaccuratepositioning.Therefore,thechangeinevaluationmethods,improvetheefficiencyandaccuracyofevaluation,implementationevaluationglazedceramicceramicproductsforimprovingthequalityofautomatedpositioningaccuracyandChinaCeramicsIndustryautomationlevelisimportant.Inthispaper,sanitaryceramicsglazedqualityevaluationsystemsoftwarekeytechnologyresearchtodevelopC#languageevaluationmanagementmodule;usingMatlabprogrammingdevelopedimagepreprocessing,comprehensiveevaluationmodule;utilizationcomponentimplementsVisualC#andMatlab;softwareprograminitiallycompletedimageacquisition,analysis,evaluationmodulefunction;testedsoftwareenablestheautomaticevaluationofsanitaryceramicglaze,easytooperate,basicallymeetthesanitaryceramicglazequalityevaluationrequirements.Keywords:glazedsurfaceofsanitaryceramics;comprehensiveevaluation;mixedlanguageprogramming;Csharplanguage35 目录摘要1Abstract21引言42课题的任务和意义53陶瓷产品釉面质量评价63.1提高釉面质量的意义63.2釉面光泽度73.3釉面色调73.4釉面平整度83.5釉面质感83.6釉面缺陷状况84陶瓷釉面质量评价系统软件实现94.1软件的模块化结构和功能94.2基于PCI总线多通道图像数据采集94.2.1基于PCI图像采集系统原理104.2.2图像数据组合与缓存114.2.3驱动程序编写124.2.4应用程序的编写134.3评价管理模块144.3.1模糊评价的构成144.3.2神经网络综合评价164.3.3加权平均综合评价174.4数据库访问模块184.4.1数据库(表)的建立194.5数据库的安全性224.5.1利用存储过程实现数据库的安全性224.5.2应用程序服务器连接到Internet上的数据库安全性224.6报表显示模块234.7VisualC#与Matlab混合编程254.7.1VisualC#与Matlab混合编程实现的2种模式254.7.2VisuatC#与Matlab接口分析284.7.3VisuatC#与Matlab混合编程实现284.7.4Matlab入口程序实现思路295经济分析报告316总结32致谢33参考文献3435 1引言上世纪80年代以来,随着国民生活水平与消费水平的不断提高,我国的卫生陶瓷产业也得到了迅猛的发展。如今我国的卫生陶瓷产量位居世界首位,然而,由于多年的重复建设以及各陶瓷企业的盲目扩张,导致产能严重过剩,市场长期供过于求,使得产品陷入低价位的严重混乱竞争态势,导致我国的建筑卫生陶瓷产业长期处于大而不强的境况。导致产品质量及品位低下的重要原因之一是产品的釉面质量及装饰技术水平低下,如何提高产品的釉面质量及装饰技术水平从而提高我国卫生陶瓷产品的质量及档次,应是当前陶瓷色釉料生产厂商共同努力的目标,也是整个行业需要正视的问题。卫生陶瓷产品釉面评价是卫生陶瓷生产中关键的检验工序之一,评价结果直接影响卫生陶瓷产品的定位(优等、合格和不合格)。卫生陶瓷釉面评价指标主要包括三个方面:1)外观缺陷指标,包括裂纹、棕眼、斑点、桔釉、烟熏、落脏、缺釉、磕碰、坑包、花斑、波纹等缺陷;2)卫生陶瓷釉面外观变形指标,包括安装面变形、表面变形、整体变形、边缘变形等;3)卫生陶瓷外观颜色指标,包括色差等。目前,国内卫生陶瓷釉面质量的评价方式相对落后,大多采用人工评价方式,即利用有经验的师傅在特定的环境下,采用目测和触摸方法,检查陶瓷釉面色泽、平整性、厚度均匀性及表面产生的缺陷,根据检查结果进行综合判断以确定陶瓷釉面的分类。这种人工评价方式,不仅效率低下,而且评价结果与人的经验有关,经验不足可能导致某些陶瓷釉面分类不正确,分级不合理,从而影响卫生陶瓷产品质量的准确定位。因此,转变评价方式,提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。35 2课题的任务和意义通过本次课题,我们要初步掌握应用软件的设计方法,熟练掌握C#编程及开发环境,了解评价系统的原理、组成和常用的评价方法。对卫生陶瓷产品釉面质量综合评价系统软件关键技术进行了研究,以C#语言开发评价管理等模块;采用Matlab编程开发图像预处理、综合评价等模块;利用组件实现VisualC#与Matlab混合编程;软件程序要初步完成图像的采集、分析、评价等模块功能;实现对卫生陶瓷釉面的自动评价,软件达到操作简单方便,基本满足对卫生陶瓷釉面质量综合评价的要求。我国内卫生陶瓷釉面质量的评价方式相对落后,大多采用人工评价方式,即利用有经验的师傅在特定的环境下,采用目测和触摸方法,检查陶瓷釉面色泽、平整性、厚度均匀性及表面产生的缺陷,根据检查结果进行综合判断以确定陶瓷釉面的分类。这种人工评价方式,不仅效率低下,而且评价结果与人的经验有关,经验不足可能导致某些陶瓷釉面分类不正确,分级不合理,从而影响卫生陶瓷产品质量的准确定位。因此,转变自动评价方式,不仅提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。35 3陶瓷产品釉面质量评价釉面质量是指把釉施于陶瓷坯体表面,并在规定的条件下,烧成后所获得的表面效果。釉面质量的评价内容包括釉面的光泽度、色调、平整度、质感(细腻度),以及釉面所存在的缺陷问题,如:针孔、气泡、杂质、黑点、色差等。3.1提高釉面质量的意义釉是一种覆盖在陶瓷坯体表面的一种玻璃体或玻璃与晶体的连续粘着层。一般的可以认为,釉是一种不均质的玻璃,它与玻璃相似之处是没有一定的熔点,只有熔融范围;光学上各向同性;而不同之处是釉的组分是不均匀的,釉层中除了玻璃相之外,还有许多微小的晶体和小气泡。因此定义釉是一种不均质的玻璃是比较确切的。釉的作用是集实用性与装饰性为一体。一方面,釉层使陶瓷制品有一个光泽的、透明的、坚硬的、不吸水的表面层,使陶瓷制品不吸水、不透气、不被外物和大气沾污和侵蚀,一定程度上改善了陶瓷制品的热稳定性、化学稳定性、介电强度和机械强度,提高了陶瓷制品的实用性;另一方面,釉的遮盖能力和光泽度,特别是颜色釉、各种艺术釉也给陶瓷制品起了表面装饰作用。对于高档卫生陶瓷,上述两方面的作用都显得十分重要。因为高档卫生陶瓷要求产品的使用功能好、制造工艺水平高、艺术水平和配套水平高,而釉面质量的好坏,不仅影响到高档产品的使用功能,釉的装饰也影响到产品的艺术效果,釉面的白度、光泽度、色差等也影响到产品的整体配套,例如与浴缸等的配套效果。一句话,釉面质量是衡量卫生陶瓷档次的一个重要条件之一。也可以这样说,高档产品必须要有好的釉面质量。为了提高釉面质量,通常可以采用以下主要措施:(l)开发和研究釉面质量较好的釉配方,使釉面的光泽度好,白度高,遮盖能力强,色泽符合人们的要求。(2)选择最适合的釉料制备工艺,使釉浆的细度、比重、粘度、屈服值等性能都能更适合施釉工艺及设备。(3)采用最合适的施釉工艺及设备,控制釉层的厚度及厚薄均匀性。(4)严格控制施釉的整个操作,使因施釉操作造成的釉面缺陷减少到最低程度。(5)选择最合适的烧成制度,使窑炉的温度、35 气氛更适合于烧制出釉面质量最好的产品,把因烧成陷减剪造成的烟熏、色差、落脏、釉面污光等缺最低速度。下面就釉面质量指标的评定标准、检测仪器及棕眼(针孔)、色差等部分缺陷和克服措施等方面谈一点看法。3.2釉面光泽度所谓光泽是物体表面的一种物理性能。光泽度就是物体表面镜面反射方向光线的强度占全部反射光线强度的系数。在光照射时,由于陶瓷釉表面状态不同,导致镜面反射的强弱不同,从而导致光泽度不同。当釉层中只有少量的极细小,且分布均匀的晶体存在时,则该釉表面通常为光泽表面;当均匀分布在釉层内的晶体尺寸大于光的波长时,釉表面的晶体不会使光线产生镜面反射,从而降低釉面光泽度,形成半无光或无光釉面。测定陶瓷釉表面的光泽度一般采用光电光泽计,其测定原理是利用硒光电池测量照射在釉表面镜面反射方的反光量,并规定折射率为1.567的黑色玻璃的反光量为100%,即把黑色玻璃镜面反射极小的反光量作为100%(实际上黑色玻璃的镜面反射的反光量<1%)。将被测陶瓷釉面的反光能力与此黑色玻璃的反光能力相比较,得到的数据即为该瓷器釉面的光泽度。由于陶瓷釉表面的反光能力比黑色玻璃强,所以陶瓷釉表面的光泽度会大于100。在判定陶瓷釉面光泽度强弱时,可以根据测试的数据大小来判定,数据越大,表明该釉光泽越强。反之,数据越小,表明该釉光泽越弱(越无光)。对于光泽釉面,数据越大,其效果越好。对于无光釉面,数据越小,其效果越好。3.3釉面色调釉面色调即釉面的颜色。事实上,陶瓷产品几乎每个样品都带有一定的颜色,其可见光区的反射率范围为60%~75%。同一样品对不同波长的光,其反射率相差10%左右。通常采用色差仪来测试陶瓷釉面的色调。其表征陶瓷釉面颜色的参数为:L、a*、b*值,L表示釉面的明度值,L越高,釉面越明亮(即样品越白);L越低,釉面越暗(即样品越黑)。a*表示釉面的红、绿色调,a*>0时,表示釉面颜色为红色调,且数值越大,表明色调越偏红;a*<0时,表示釉面颜色为绿色调,且数值越小(负数),表明色调越偏绿。b*值表示釉面的黄、蓝色调,b*>0时,表示釉面颜色为黄色调,且数值越大,表明色调越偏黄;b*<0时,表示釉面颜色为蓝色调,且数值越小(负数),表明色调越偏蓝。35 3.4釉面平整度对于陶瓷釉面,都希望其表面能像玻璃一样平整光滑,但实际上达不到。这是因为釉面的平整度受多方面因素的影响,如:釉层厚度、坯体表面的光滑程度、釉层形成过程的反应时间的长短等,这些因素都可能导致釉面达不到像玻璃表面一样的平整光滑程度。尤其是低温快烧的陶瓷砖产品,其釉面总会存在一些不平整。陶瓷釉面平整度是一个感性的指标,无法采用仪器测试,并进行量化比较,只能通过目视,并定性地进行比较判别。3.5釉面质感陶瓷釉面的质感与平整度指标类似,也是用来衡量陶瓷釉面平整光滑的程度,但两者又有细微的差别。釉面平整度主要是指光泽釉釉面的平整光滑程度。而釉面质感则是指釉面细微部分的光滑、细腻程度,如根据光泽釉釉面上的皱纹、针孔、气泡等缺陷;无光釉釉面平整、光滑程度及釉面缺陷有针孔、凸点、开口气泡、析晶晶体粗细等进行判断。若光泽釉釉面无细小皱纹,也没有细针孔、小气泡等缺陷,无光釉釉面平整光滑、析晶晶体大小均一(细腻)、无针孔、凸点等缺陷,则认为该釉釉面质感细腻。3.6釉面缺陷状况陶瓷产品的釉面或多、或少会存在一些缺陷,如针孔、气泡、杂质、黑点、色差、皱纹等,其缺陷的严重程度,是评判釉面质量好坏的重要指标。通常釉面缺陷越少,产品的效果越好,尤其是釉面不能存在针孔、气泡、杂质、黑点等缺陷。35 4陶瓷釉面质量评价系统软件实现卫生陶瓷釉面质量综合评价系统软件主要功能图像采集控制,数据管理,报表生成等,以VisualStudio2008为开发环境,c#为开发语言。4.1软件的模块化结构和功能卫生陶瓷釉面质量综合评价系统软件由数据采集接口模块、数据维护模块、显示模块、数据库访问模块、报表模块、Matlab算法模块等组成,如图4.1所示。图4.1卫生陶瓷釉面质量实时评价系统软件系统结构4.2基于PCI总线多通道图像数据采集35 数据采集接口模块主要实现步进电机、卫生陶瓷位置等一维信号和二维图像信号的传输和控制功能。采用现场可编程门阵列(FPGA)对不同数据源的多个图像数据进行组合,在FPGA内部进行一级缓存,将异步的图像数据源变换成同步数据;然后对得到的数据进一步组合送入独立的FFO芯片进行二级缓存;最后通过专用的PCI接口芯片,将图像数据传输到PCI总线上。使用DriveWorks进行驱动程序的设计,采用多线程机制完成应用程序设计,实现了数据存储与实时显示同步。在合适的计算机平台上,系统可在保证实时存储和显示的同时,使数据采集速度达到80MB/s。4.2.1基于PCI图像采集系统原理从接口中输入的信号为低压差分信号(LVDS),经过电平转换芯片DS90LV032A转换成一般的CMOS信号;在可编程逻辑器件内,将信号转换成计算机系统能够处理的32bit信号,将其存入FFO芯片内进行缓存;在可编程逻辑器件的控制下,通过接口芯片PCL9054将静态存储单元内的数据传输到PCI总线上;在驱动程序的驱动下,将数据存入内存以便进行硬盘存储和显示。其系统框图如图4.2所示。如图4.235 4.2.2图像数据组合与缓存本文设计了最多3个通道的图像数据的情况,输入的图像数据是每个通道为5bit为每个像元的图像数据的一半,所以在进行图像数据缓存时先将5bit的数据转换成一个像元完整的10bi图像数据,由于3个相机传输出来的图像是独立的,在使能和时钟信号上都是异步的,有时可能是相机1的数据先到,也有可能是相机3的数据先到。为了能够使得数据不丢失地传输,对3个通道的数据在FPGA内部进行一级缓存,然后将3路10bit的数据组合成32bit的数据,送入FIFO进行二级缓存。其数据转换的流程图如图4.2.2所示。图4.2.2数据格式转换流程图3路5bit的数据经过5bit转换成10bit的模块,3个相机的图像数据都转换成各自完整的图像数据,每一路都有自己的使能和时钟,且各路之间都是异步的。采用第一个缓存单元的状态来进行控制,当第一个缓存单元内的数据到达FIFO总深度的一半时就发出读信号,对3个缓存单元同时读取数据。FIFO深度的确定是根据3个数据通道之间的最大时序差来确定的。fbclk是535 bi的数据同步时钟,fbdata在第一个时钟上升沿是一个像元值的高5bit值,第二个时钟上升沿位低5bit值,经过转换后生成产生tbdata的10bit数据为一个像元的像素值。XilinxSpaitan3XC3S200芯片内有216K大小的BlockRAM资源,图2中的缓存单元FFO是基于芯片内的BlockRAM资源的异步FFO。Xilinx器件的开发软件ISE提供了很方便的操作,通过P核生成器就可以生成异步的FIFO,生成一个256@10bit的异步FIFO。如下Veribg语句所示,wr_ck、nl_clk分别是写入FFO和从FIFO中读出的时钟。wr_coun、rd_count分别是写入到FFO数据的计数和从FIFO中读出数据计数。读使能信号是根据写入FFO数据计数而确定的。计算机的PCI总线是多个PCI总线设备一起共用的,所以采集卡并不能一直占用PCI总线,外部FFO芯片就是在PCI总线繁忙时缓存数据用的IDT72V275芯片。4.2.3驱动程序编写在WindowsXP环境下开发驱动程序,采用的是WEM驱动程序模型,每个硬件设备需要两个驱动程序。一个为功能驱动程序,它由用户编写,负责初始化I/O操作,如读写设备等操作。另一个驱动程序为总线驱动程序,它负责管理硬件与计算机的连接,一般由操作系统来完成。设计一般的PCI总线的驱动程序一般只用设计功能驱动程序。为了能够满足应用程序能实时的存储和显示所采集的图像,在设计驱动程序时,开辟两个缓冲区,并且采用DMA突发传输机制来进行数据采集。这样在应用程序对一块内存进行操作,而驱动程序则使用另一块内存进行采集。本设计使用驱动DriverWorks编写驱动程序,驱动程序的工作流程如图4.2.3所示。35 图4.2.3驱动程序工作流程在应用程序打开设备时,操作系统的i/o设备管理器自动调用驱动程序的OnStartDevice()例程,进行一些初始化操作,如DMA适配器的初始化,创建两个NoPaged内存缓冲区。当应用程序开始采集数据时,先调用一个命令用于标识应用程序正在使用哪个缓冲区,驱动程序应该用哪个Buffer的DeviceloContol函数。然后应用程序调用ReadFile()函数读取数据,I/O管理器相应调用StartIo函数,在驱动程序内调用OnDmaRead()用来初始化DMA适配器,然后调用StartDma开始传输数据,等到一个数据包传输完毕以后,进入中断调用中断服务程序,这时驱动程序将返回信息给I/O设备管理器完成一次读取操作。4.2.4应用程序的编写本文中应用程序采用VS2008C#来编写。驱动程序将采集卡输入的图像传输到计算机物理内存后,有操作系统的I/O管理器通过映射,将这些物理内存映射为应用程序可以操作的应用程序内存,应用程序可以直接对这些内存进行操作,在进行采集时,采集的数据到达指定大小后,应用程序就可以对应用程序内存1进行操作,此时驱动程序对物理内存2进行写入操作,如此循环以提高应用程序的效率。图4.2.4所示是驱动程序和应用程序内存分配关系35 图4.2.4驱动程序与应用程序的内存分配应用程序的实时显示是通过另外开辟一块显示缓冲区,将应用程序内存中的数据拷贝到显示缓冲区进行显示,同时通过Stream相应的函数将采集的数据存储到计算机硬盘中。对设备的采集操作、实时显示、以及实时存储操作都通过设计独立的线程来完成。4.3评价管理模块评价管理模块主要对软件所提供评价方法、评价过程进行配置,简化评价过程,使评价过程更易于操作。软件所提供的评价方法包括模糊综合评价、神经网络综合评价和加权平均综合评价三种评价方法。由于图像预处理、图像分割及神经网络计算等涉及大量运算,算法较复杂,而Matlab在计算上具有较大优势,因此图像相关操作及评价算法模块等采用Matlab编程实现。Matlab访问接口提供在VisualStudio2008环境下访问Matlab的方法。4.3.1模糊评价的构成模糊集合是模糊评价建立的基础,模糊集合的基本思想是改造普通集合中的特征函数,使元素对集合的隶属度从只能取{0,1}中的值扩充到[0,18]中的任一值"这样元素和集合的关系,从普通集合中的绝对“属于”或”不属于”35 延伸到以多大程度的属于通过建立模糊集合与普通集合之间的转化法则,可以使普通集合的规则应用到模糊集合上。由模糊集合发展起来的评价方法主要有模糊物元、模糊积分、模糊综合评价、模糊聚类、模糊神经网评价等。模糊子集间的运算,实际上是对隶属度作逐点的相应运算,利用相对隶属程度建立起的模糊评价集可以实现对定性指标的数量化处理。模糊集解决实际问题,通常需要与普通集之间建立一种联系和转化,这种关系是通过水平截集、分解定理、表现定理和扩张原则等建立起来的。进行模糊评价时,必须明确四个方面的问题:隶属关系矩阵确定的方法、模糊合成算子的选择、最大隶属原则和加权平均的原则,模糊评价大多数是围绕上述方面展开的。在进行模糊评价时,一般的步骤为:第一步,选择评价指标;第二步,选定评语集,确定指标权重礁第三步,建立模糊关系矩阵R;第四步,计算模糊关系矩阵的合成值B=W。R,。为合成算子;第五步,加权综合评价。包括模糊加、模糊乘在内的算法,都以取大取小为基础,这种算法是模糊运算的基础,偏离了这种算法的模糊评价方法,实质上已不再是模糊评价的方法。但是,在应用某些模糊算法进行合成运算时,如果硬搬这些算法而忽略数值的实际意义,则会从逻辑上出现错误就指出应用取大取小的合成模糊算法进行综合评价时的错误。模糊矩阵的合成算法如下:将归一化处理后的综合评价结果为~=(b1/b,b2/b,,,,bn/b),式子中35 通过(1)式所得到的结果,要么取值Wi0,要么取值rij0。算子^是通过比较取其小,算子V是通过比较取其大,这种比较应该在具有可比性的元素之间进行。Wi与rij的含义截然不同,前者是指标在指标集中所占的权重,后者是用来测度指标元素的取值。它们之间根本不存在可比性。当进行Wi^ri计算时,所得到的结果是无意义的,是用Wi^rij的中间结果,通过比较取其最大者。这些比较无论是同类性质的参数之间的进行,还是在不同类型性质参数之间的进行,由于中间结果无意义,所以最终结果也是无意义的。这一问题的产生,是由于公式(l)合成运算本身造成的。刘玉斌给出两种改进行的合成方法,实质上都是把权重用一般意义下乘的方法合成到指标值中,然后再应用模糊数学的方法形成评价结果。4.3.2神经网络综合评价复杂对象系统多目标综合评价的神经网络方法的原理是:将描述复杂对象系统的评价指标体系的基础指标的属性值作为神经网络的输入向量,将该复杂对象系统的评价目标的评价指数值作为神经网络的输出,用足够的样本模式来训练这个神经网络,使不同的输入向量得到不同的输出值,这样神经网络所持有的那组权系数值便是网络经过自适应学习所得到的正确的内部表示。训练好的神经网络便可以作为一种定性与定量相结合的有效工具,对样本模式以外的对象系统作出综合评价。神经网络是一个以有向图为拓扑结构的动态系统,它通过各种输入信息作出反应而完成信息处理,并具有自学习、自组织、自适应和非线性动态处理等特性。B-P(BaCk-Pmpa-gation)神经网络是由Rmnelhart等人组成的PDP小组于1985年提出的一种神经元模型,目前已被用于模式识别、函数逼近和数据压缩等方面。其三层B_P神经网络结构如图4.3.2所示35 图4.3.2三层B_P神经网络结构图4.3.2中,n1和n2分别表示输入单元和隐单元个数;x1,x2,,,,xn,为论域U={u1,u2,……un}上p个样品模式的评价指标属性值,记为Xp=(Xp1,Xp2……Xpn);S个样本模式构成下列属性值矩阵:4.3.3加权平均综合评价模糊综合评价-加权平均综合评价。它既克服了单层评价模型因考虑的因素过多,权重难以分配的困难,又避免的二级模糊评价时。(1)权重的确定35 为了充分利用模糊综合评价的信息,对各个等级的得分进行加权平均,求得权重j=1,2,……,m;k取正实数。δ1,δ2,……δn构成一组权重。(2)等级参数的选取对每个等级Vj赋予一个参数aj,一般等级越高,等级参数就越大。由下式计算综合值:在模糊综合评价中引入加权平均而建立的模糊综合-加权平均复合模型具有计算简单、科学合理等特点,它克服了其它方法评价分辨率低的缺点。4.4数据库访问模块在VS2008中我们编写的代码做好的全部模块最终都要与我们的数据库连接,采集的图像信息都要记录存储在数据库中,利用连接数据库代码直接与我们做好的数据表格连接实现功能SQLServer2005是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。这个平台有以下特点:  ·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。  ·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。  ·智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。35 4.4.1数据库(表)的建立打开SQLServerManagementStudio软件,新建一个名为:“SystemEval.mdf”数据库。如图4.4.1所示:图4.4.1SystemEval.mdf数据库。(1)用户注册表,该表包含用户编号、用户名、密码和角色,用户登角色分为二个角色,系统管理员普通用户。如图4.4.2字段名称类型长度是否主键描述UserIDint4是用户编号UserNamevarchar50否用户名PastWordvarchar20否密码CreatTimedatetime8否用户添加时间Roleint4否角色代码(0-系统管理员1-普通用户)图4.4.2用户注册表(2)元件参数表格,该表包含单项指标,数据,单位,权重。如图4.4.335 字段名称类型长度是否主键描述单项指标nchar(10)10是单项指标数据float默认否数据单位nchar(10)10否单位权重float默认否权重图4.4.3元件参数表格已经储存在元件参数表格中部分数据如图4.4.3(B)显示:图4.4.3(B)元件参数数据(3)测试条件表格,该表格包含评价条件,描述。如图4.4.4字段名称类型长度是否主键描述评价条件nchar(10)10是评价条件描述nvarchar(50)50否描述图4.4.4测试条件表格已经储存在测试条件表格中部分数据如图4.4.4(B)显示:35 图4.4.4(B)测试条件数据(4)评价各项指标数据如图4.4.5显示:图4.4.5指标数据35 4.5数据库的安全性4.5.1利用存储过程实现数据库的安全性利用存储过程实现数据库的安全性的方法是给用户授予执行存储过程的权限,而不授予修改表的许可权限。即使用户不具有访问视图和表的权限,那么通过存储过程仍能够让其查询相应的数据信息,实现的方法很简单,只要让该用户具有存储过程的EXEC权限就可以了。当然要确保该存储过程中包含了语句。比如可创建的存储过程:createprocedureworker_proasselect*fromworker然后将存储过程的EXEC权限授予用户,当用户执行该存储过程时就可以查询到相应信息。4.5.2应用程序服务器连接到Internet上的数据库安全性为了实现信息共享,有必要将应用程序连接到Inter-net上,互联网存在着许多不安全因素,这样对应用程序的数据安全存在很大的威胁性,我们必须加强防范。主要采用的安全措施有:①代理服务器、防火墙和路由器来保证数据库的安全性;②利用在线加密保护数据的安全性;③对应用程序服务器TCP/IP进行配置实现数据库的安全性。(1)利用在线加密保护数据的安全性SQLServer2005使用的TabularDataStream协议来进行网络数据交换,只有通过在线加密保护数据,才能保护网络通信中的数据安全性。在线数据加密主要采用:①通过定义规则和筛选集合的方式来对每个域或每台本地计算机配置具体的IPsec安全策略,这些规则和筛选用于对与指定IPsec客户之间的安全通信进行控制;②使用安全套接字层(SSL)对客户端计算机和SQLServer实例间的所有网络通讯进行加密。(2)对应用程序服务器TCP/IP进行配置实现数据库的安全性通过对连接到Internet的数据库服务器TCP/IP进行有效的配置,拒绝应用程序所在服务器之外的IP进行商品连接,隐藏SQLServer实例,实现数据库的安全性。对SQLServer数据库应用程序所在服务器TCP/IP进行有效配置方法有:①对访问应用程序服务器IP进行限制实现数据库的安全:SQLSer-ver数据库系统利用Windows200035 提供了网络连接的安全机制,对IP连接进行限制,只保证自己的IP能够访问,拒绝其它IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。②修改应用程序服务器TCP/IP端口隐藏SQLServer:由于SQLServer数据库的信息和所使用的TCP/IP端口很容易被1434端口的UDP探测到,为了保护SQLServer数据库的安全性,一方面利用Windows2000所融合的IPsec协议过滤拒绝掉1434端口的UCP通讯;另一方面在SQLServer实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认的端口变为其它端口来隐藏SQLServer。4.6报表显示模块人机交互接口模块提供友好的人机操作界面,简化卫生陶瓷釉面评价过程;报表模块采用CrystatReports,以图文形式显示评价结果;显示模块包括当前卫生陶瓷制品位置和状态显示,步进电机状态显示及二维图像信号预览等功能,方便用户对评价过程进行监测。如图4.6显示35 图4.6单项指标在综合评价中的比重代码如下:if(StepTree.SelectedNode.Text=="报表"){RemoveAllControlsofPanel2();CrystalDecisions.Windows.Forms.CrystalReportViewercrystalReportViewer2=newCrystalDecisions.Windows.Forms.CrystalReportViewer();splitContainer1.Panel2.Controls.Add(crystalReportViewer2);crystalReportViewer2.ReportSource=this.ResultReport1;crystalReportViewer2.Dock=DockStyle.Fill;crystalReportViewer2.DisplayGroupTree=false;}}35 4.7VisualC#与Matlab混合编程4.7.1VisualC#与Matlab混合编程实现的2种模式MATLAB是当今世界上使用最为广泛的数值计算软件之一,具有强大的矩阵计算能力,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理等若干个领域的数学计算。C#是微软.NET战略中核心的开发工具,它综合了VisualBasic的高效率和C++功能的强大性,具有良好的界面设计功能,可以很方便地建立应用程序的可视化界面。整合C#界面设计能力和MATLAB的科学计算能力,可以解决环境评价、金融计算、图像处理等多个领域的实际问题,具有很好的应用前景。目前,采用VB、VC、C++Builder等高级语言与MATLAB的混合编程技术已有较多的研究并且存在一定的应用成果,而C#是近几年微软新推出的编程语言,目前对于C#与MATLAB混合编程的研究还很少,本人在实践应用的过程中,总结了以下关于C#与MATLAB混合编程接口技术实现的经验。4.7.1.1DLL文件模式利用MATLAB的编译工具中的mcc命令可以方便地将m文件转化为动态连接库文件(dll),但由于转化时是采用C或C++编译器,所以产生的dll文件可以由VC++直接调用,却不能被C#调用。但C#可以调用由VC++编译生成的dll文件,由此想到由VC++作为C#和MATLAB中间的一个桥梁,通过VC++把MATLAB生成的dll文件打包进VC++的dll文件中来,这样C#就可以间接地调用MATLAB生成的dll文件了。本文所用软件的版本为VC++6.0和MATLAB6.5,其中Matlab安装路径为D:MATLAB6p5,实现的具体步骤如下:第一步:设置环境变量①在Matlab命令窗口中依次输入:mbuild–setup和mex–setup②选择VC++6.0编译器下的工具→选择→目录中的Includefiles添加D:MATLAB6P5EXTERNINCLUDE路径,在Libraryfiles下添加D:MATLAB6P5EXTERNLIBWIN32MICROSOFTMSVC60路径。第二步:使用mcc命令,将MATLAB中的m文件编译成dll文件mcc–t-Wlibhg:dlltest-Tlink:libtestlibmmfile.mlib35 此例中mlib编译命令将test.m文件编译成C代码,函数接口为Jisuan()。同时生成dlltest.exports、dlltest.h、dlltest.lib、dlltest.c、dlltest.dll、dlltest.mlib、dlltest.expt等文件。第三步:在VC++中调用刚生成的dll文件,再打包制作成C#可以调用的dll文件①在VC++6.0中将生成后的dlltest.h、dlltest.lib、dlltest.dll三个文件拷贝到名为testMydll的测试工程目录下,并通过Project→AddToProject→Files将文件引入工程。②在testMydll.cpp中添加如下语句:#include"dlltest.h"VoidtestMydll(){dlltestInitialize();mlfJisuan_test();dlltestTerminate();}③在testMydll工程中新建一个名为testMydll.def的文件,在其中添加语句:LIBRARY"testMydll.dll"DESCRIPTION"Implement"EXPORTStestMydll@1④将testMydll工程编译后在其Debug目录下将生成testMydll.dll、testMydll.exp、testMydll.lib等文件,其中testMydll.dll则是在C#中可以直接调用的dll动态链接库文件。第四步:C#调用VC++编译生成的dll文件将前面两步骤中由Matlab生成的dlltest.h、dlltest.lib、dlltest.dll三个文件和由VC++6.0中生成的testMydll.dll文件拷贝到C#的工程中,接着将bin和obj文件夹中的这四个文件导入工程,在工程的程序中添加语句:[DllImport(“testMydll.dll”,EntryPoint=”testMydll()”)]//调用dll文件声明publicstaticexternvoidtestMydll();//接口函数声明testMydll();//调用函数4.7.1.2COM组件模式35 利用MATLAB的comtool工具可以方便地将m文件转化为COM组件,生成的COM组件只要在客户机上注册后即可像使用ActivX控件一样方便被调用,不同的编程语言可以对其实例化,通过传参数的方式加以复用。此方法的具体步骤如下:第一步:在MATLAB中生成COM组件①将Matlab生成的m文件保存名为test.m。在Matlab命令窗口中输入命令:comtool,打开COMBuilder窗口。②在该窗口中新建一个名为component的工程,并在该工程中添加文件test.m。③点击Build→COMobject命令,就可以生成COM组件,其版本号为component1.0,该例中组件包含一个test类,向外提供一个接口函数为jisuan()。在component工程的文件夹distrib下可以找到一个component_1_0.dll文件,这个文件即是所有遵循COM组件技术规范的高级语言都能够调用的COM组件。第二步:在.NET中注册COM组件在C#调用该COM组件之前,需先对其进行注册。在.NET开发平台中点击:Project→AddReference⋯,在弹出的对话框中选择COM选项卡,选中刚生成的COM组件component1.0,点击OK按钮即完成了组件的注册。第三步:在C#程序中调用COM组件①将component_1_0.dll文件拷贝到C#的工程文件夹下的Debug文件夹下,在.cs文件中添加命名空间:usingcomponent;②在程序体中添加如下代码,将COM类实例化:component.testClassCsharptest=newtestClass();//实例化COM组件中的test类Csharptest.jisuan();//调用test类中的接口函数jisuan()4.7.1.3两种模式的效率比较由上可见,模式一步骤繁锁,而且还可能由于VC与C#语言细节上面不一致,使程序运行出错。比如VC语言中字符采用ASCII编码占一个字节,而C#语言中字符采用Unicode编码占两个字节,因此在传递字符参数时若不考虑这个问题,则将导致程序运行失败。而模式二,步骤简单,调用方便,而且生成的COM组件只要在机器上注册后,便可跨语言甚至跨机器平台得以复用,软件的重用度好,编程效率高。同时生成的COM组件易于修改、扩展性好,利于系统的升级。在系统交付使用后,若需对原算法进行修改或更新,只需将修改后的COM组件覆盖原有的同名文件即可;而且系统运行速度也较快,因为应用程序仅仅在需要进行运算的时候才装载所需的组件库,35 这样减少了系统启动时间和内存占用。整合C#优秀的界面设计能力和MATLAB强大的科学计算能力开发多领域的应用软件本身就具有良好的实际研究价值,文中给出的DLL文件和COM组件两种混合编程模式在实践中都切实可行,而后者由于用到了组件技术,故在编程效率、软件重用度等方面都略胜一筹。4.7.2VisuatC#与Matlab接口分析Matlab编程简单,具有很多基础库函数和工具箱库函数,其在数学计算上具有很大优势。为了降低编程难度和软件出错率,图像相关处理及综合评价算法全部由Matlab编程实现,Matlab版本为R2008a。VisuatC#访问Matlab的方式主要有:1)利用MATLAB软件的MCC编译指令直接将M文件翻译成EXE文件,这样可直接运行。2)在VisuatC井中调用MATLAB引擎实现特定的功能。3)利用MATLABCOMBuilder将M文件生成COM。VisuatC#通过COM接口调用M文件以实现特定功能。4)利用MATLABNE工具箱将M文件编译成.NET组件,在VisuatC井工程中,添加该组件,便可调用组件中类的成员函数,从而实现对Matlab程序的调用。在这四种调用方式中,方式1的M文件虽然可独立执行,但软件要访问EXE文件的数据变得困难。方式2必须要求机器安装相应版本的Matlab软件,脱离Matlab环境则无法运行。后两种方法均可脱离Matlab环境独立运行,.NET组件较COM形式相比,充分利用了.NetFramework架构,可提高开发人员效率,减少程序中bug的出现。基于此,卫生陶瓷釉面综合评价软件调用matlab程序采用基于.NET组件方式。4.7.3VisuatC#与Matlab混合编程实现在三种评价算法中,除了加权平均综合评价不需要复杂计算外,另两种算法运算量较大,另外,对于图像的预处理、图像的分割等均需消耗大量时间,因此在VisudC#程序中通过开辟线程来调用Matlab程序组件,关键代码为:Threadworkthread=newThread(newThreadStart(this.Im-ageTest));//开辟线程workthread.Start();//启动线程第一行代码开辟一个线程,线程的地址为ImageTest。35 ImageTest为主窗口类的一个方法,其调用Matlab程序模块。接着调用线程类的Start方法,启动线程。在线程中主要利用以下关键代码调用Matkb程序组件,imagetestclasstest=newimagetestclassO;MWArray口mw=test.StartEvluate(intnumArgsOut,MWArrayindex,MWArraypath,MWArrayParameter);代码首先初始化imagetestclass。该类为由MatlabNE工具箱将图像预处理、图像分割、评价等算法的M文件进行编译所生成组件中的类。第二行则调用该类的StartEvluate方法启动评价过程。StartEvluate方法的入口参数意义为:numArgsOut:返回参数的个数;Methodlndex:评价方法选择索引,0表示加权平均法表示模糊评价方法,2表示神经网络方法;Path:代表暂存所拍摄图像的文件夹,里面存放待测卫生陶瓷各角度的照片。Parameter:评价方法所带参数,调用时以MWStruct八类的实例填充该项,该类用于在C#和matlab间传递结构参数。加权平均法所带参数包括各评价指标的权值等;模糊综合评价所带参数包括模糊关系矩阵等;神经网络综合评价所带参数包括神经元个数、训练函数及误差种类等。返回的参数则包括综合评价的结果及各单项评价指标所占比重等。4.7.4Matlab入口程序实现思路Matlab程序包括图像预处理模块、图像分割模块,特征提取模块、图像特征综合模块,加权评价、模糊综合和神经网络综合评价模块等。调用这些模块的入口点为,前节所述的StartEvluate函数,该函数包括评价方法索引等入口参数,其流程如图4.7.4所示。该函数利用图像分割、特征提取等模块计算出单项评价指标,根据所选评价方法,计算出卫生陶瓷釉面综合评价结果。35 图4.7.4釉面评价matlab入口函数程序流程图35 5经济分析报告本文所设计的对陶瓷表面施釉的质量以及陶瓷烧制成产品后其表面质量进行综合评价系统。主要是在windowxp系统下利用MicrosoftVisualStudio2008和+SQLServer2005软件实现对其功能的完成,实现这种评价方式,提高评价效率和准确性,实现陶瓷釉面评价的自动化对于提高陶瓷产品质量定位的准确性和我国陶瓷企业自动化水平具有重要意义。陶瓷施釉和外观质量在线评测系统软件系统初期成本预算类别项目数量总金额(元)备注材料费书本费2120租借相机3150芯片2450FFOPCI芯片其他费用邮费等20金额总计79035 6总结本文介绍了卫生陶瓷釉面质量综合评价软件结构及关键模块的实现。以V丨SualStud02008为编程环境,C#语言开发了评价管理,人机交互等模块;采用matlabM文件编程开发图像处理,综合评价算法等模块,利用组件技术实现VisatC#编程。通过实验验证了软件评价功能,结果表明软件实现了卫生陶瓷釉面的自动评价,评价结果准确,操作方便,基本满足卫生陶瓷釉面质量综合评价的要求。35 致谢本毕业论文是在指导老师曹利钢老师的精心指导下完成的。从大三曹老师上我们专业课以来,曹老师经常给予我们学习上的指导。特别是在论文撰写期间,曹老师对我悉心指导和教诲,给予了我极大的关心和帮助。他严谨的治学态度、求实的工作作风使我深受教育,广博的学识使我受益匪浅。值此论文完成之际,谨向曹老师表示深深的敬意和由衷的感谢。在此,我还要感谢在四年里不断引导我成长、教授我知识的各位老师,正是由于你们的谆谆教诲和关心,我才能克服一个一个的困难和疑惑;我还要感谢在一起生活、学习了四年的09级自动化专业的所有同学们,感谢你们陪我度过人生中难忘而美好的大学时光。35 参考文献[1]张天云.工程材料综合评价系统研究与实现[D].兰州理工大学博士论文,2008[2]刘丽莉.评价指标选取方法研究[J].河北建筑工程学院学报,2004,22(1):134~136[3]王永慧,颜云辉,吴艳萍,刘伟嵬.基于缺陷信息群决策的带钢表面质量评价方法[J].冶金自动化,2007,(5):30~33[4]牟洪波.基于BP和RBF神经网络的木材缺陷检测研究[D].东北林业大学博士论文,2010[5]胡永宏,贺思辉.综合评价方法[M」.北京,科学出版社,2000.17~20[6]I.Kononenko.EstimatingAttributesAnalysisandExtensionsofRelief.Proceedingsofthe7thEuropeanConferenceonMachineLearning,Berlin:Springer,1994:171~182[7]WINDERSAJ,BROWNM.Learninglocalimagedescriptor[C].IEEEConferenceonComputerVisionandPatternRecogni-tion.Washington,DC:IEEEComputerSociety,2007,:1-8[8]TOLAE,LEPETITV.Afastlocaldescriptorfordensematching[C].2008IEEEComputerSocietyConferenceonComputerVisionandPatternRecognition.Washington,DC:IEEEComputerSociety,2008:1-8[9]初少林.基于三维重建的焊点质量分类方法研究[D].哈尔滨工业大学硕士论文,2008[10]HiroshiKametani.Fractalanalysisofthesurfacecracksoncontinuouslycasesteelslabs[J].MetallurgicalandMaterialsTransactions.1998,298(6):1261-1267[11]SunsanS.Chen,JamesM.Kelleretal.Onthecalculationoffractalfeaturesfromimages[C].IEEETransactionsonPatternAnalysisandMachineIntelligence.1993,15(10):1087-1091[12]何鸿.船舶柴油机缸套材料磨合磨损表面质量综合评价方法的研究[D].大连海事大学硕士论文,2007[13]潘洪平,董申,梁迎春等.钢球表面质量评价系统[J].轴承,2000(7):30~34[14]CAIAH,SUNGX,PANY.Evaluationoftheparametersrelatedtoglass-formingofbulkmetallicglasses[J].MaterialsandDesign,2006,27(6):479~488[15]M.Liu,S.M.Lo,B.Q.Hu,C.M.Zhao.Ontheuseoffuzzysyntheticevaluationandoptimalclassificationforcomputingfireriskrankingofbuildings[J].NeuralComput&Applic2009(18):643–652[16]SHEENJN.Fuzzyevaluationofcogenerationalternativesinapetrochemicalindustry[J],ComputersandMathematicswithApplications,2005,49(5-6):741~755[17]李成友,王学周,王 芳,杨玉杰.主成分分析法在网络教学评价系统中的应用[J].计算机应用研究,2003,(12):128~13035 [18]肖绚,宁小平,汪用瑜.基于灰色聚类模型的陶瓷质量评估[J].中国陶瓷,2007,43(9):42~44[19]李庆昌,刘希玉.微粒群神经网络在绩效评价系统中的应用[J].计算机工程与应用,2008,44(24):219~221[20]GB/T6592-1999卫生陶瓷[S][21]徐瑞,黄秀华.日用细瓷釉面质量初探[J].中国陶瓷,1982,(5):1~9[22]程小苏,柯善军,曾令可.卫生洁具表面缺陷的成因及对策[J].中国陶瓷,2009,45(3):47~4935

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭