毕业论文-基于MATLAB的《数字图像处理》远程实验系统的设计与研究方法_第1页
毕业论文-基于MATLAB的《数字图像处理》远程实验系统的设计与研究方法_第2页
毕业论文-基于MATLAB的《数字图像处理》远程实验系统的设计与研究方法_第3页
毕业论文-基于MATLAB的《数字图像处理》远程实验系统的设计与研究方法_第4页
毕业论文-基于MATLAB的《数字图像处理》远程实验系统的设计与研究方法_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南大学毕业设计(论文) 第页绪论课题研究背景在如今各行的业技术开发之中,数字图像处理已经成为了大多数尖端领域不可避免的一项工作工序,故而学习数字图像处理也成了当今科技领域的时髦。而相应的如何简单有效的学习并实践数字图像处理有关学习内容的解决方法也迫在眉睫。目前针对数字图像处理最具有专业性的软件应当是属MATLAB,不仅能完成普通图像处理软件所具有的功能外,还具有其独特的功能,使其成为数字图像处理领域必不可少的工具。由于MATLAB的功能比较强大,内容比较健全,所以该软件占用计算机大小不可压缩,通常都在1GB左右,而且安装繁琐,软件资源紧缺。对《数字图像处理》教学带来了一定意义上的阻碍。能不能创造出一种既简单而又不丢失MATLAB原有功能的方法来达到对《数字图像处理》课程学习的目的呢?有很多种方法来完成上述设想,比如开发一款类似MATLAB但又易安装占用量小的工具,可是这类软件并不能完全等同于MATLAB,有些功能必定存在缺陷;再比如仅仅把MATLAB中与数字图像处理有关的内容分离出来,达到简化的目的,可是分离MATLAB的工序也会造成不必要的数据错误,往往适得其反。无论哪种方法,都不能完全使人满意。在此基础上,人们想到了如今高校常用的一种方式,即网络平台式的教学方式。也就是说只需要一台计算机安装了MATLAB,然后在该计算机上架设一个网络服务器,其他的用户可以直接由互联网来访问该计算机上的MATLAB软件从而达到不安装繁琐的软件也可以完成一些教学实验及MATLAB的使用。并且在MATLAB7.1版本之前的版本中,都带有一个Webserver功能。该功能正是实现网络化使用MATLAB进行数据操作的最有效助力。如果完成网络化的实验平台来进行数字图像处理的基本实验,那么将会解决许多因MATLAB不易安装携带的问题。而且当今高校都在实现网络化管理,所以构成网上教学平台之后,还可以更进一步实现使学生网上完成作业,网上完成考试等等功能。实在是《数字图像处理》教学开创性的一步。远程实验系统的现状通常在教学过程中,实验环节是一个非常重要并不可忽视的环节,尤其对于许多实践性较强学科来说更为重要。通过实验,学生所获取的知识及对学科的理解更为深刻,更为直接。比如基础学科的物理、化学、生物、工程类的控制学、计算机软硬件、电路电子原理等等。传统的实验方式比较死板,从应用方式上来说,学生必须亲自到相对应的实验室进行实验的学习,此种称之为本地实验。从利用率方面来讲,实验台或实验工具仪器等只能每人一台,这极大地限制了实验教学的效果。可是如果改为远程实验,那么学生就不必到实验室本地,对于那些成本较高的实验设备,也不会因为数量限制而不能满足实验人数要求。因此远程实验系统的建立是很有必要的。对于远程实验,有专门相对应的定义:即“在Internet上采用远程数据及图像或声音的采集,通过远程控制技术或计算机仿真技术、虚拟现实等技术,使实验者从另一台计算机(可以是个人计算机)设备上进行可操作的实验,并且通过反馈与本地实验得到的数据完全相同的结果进行真正意义上的实验现象观察。”ADDINNE.Ref.{5E1D3842-678B-4FB3-9A17-468F626E772E}[1]这样就等等价于使用真实实验设备完成实验。而远程实验系统可以分为两类,具体是根据本地实验设备的真实与否分为:远程条件下的实际实验和远程条件下的仿真实验。顾名思义,远程条件下的实际实验的相应设备是真实的设备,远程用户在对它进行操作的时候是通过互联网络来传输数据,来引起实际设备运行,所有反馈给实验者的数据,是真实情形下得到的数据。而远程条件下的仿真实验所使用的设备就是虚拟的,虚拟设备就是通过建立真实设备的数学模型来达到仿真效果,将整个模型和程序放置在仿真实验的网络服务器平台上,也就是说用户的相应操作引起的是仿真模型的运行。远程虚拟实验室的国内外发展状况1986年,美国NI公司(NationInstrument)提出了虚拟仪器的概念,提出了“软件即仪器”的口号。ADDINNE.Ref.{E5870296-5CCD-41F9-B0C1-DA8867B4DD1F}[2]从此开始传统意义上的仪器开始打开一个新的纪元,仪器不再是只有生产厂家才能设计定义的硬件系统,而逐渐变成了用户可以定制和改变的个人化软件系统,这在当时掀起了一场仪器和自动化工业领域的革命。而时至今日,仪器的智能化和虚拟化已经可以让用户随心所欲地在各级实验室进行相关实验操作。虚拟化实验室的研究,国际上是开始于20世纪80年代末,麻省理工学院的WebLab是一个在线实验室,于1988年开发并投入使用;90年代,美国政府投入巨大财力在海洋学、天体物理学、分子生物学以及核科学四大领域建造了各自的虚拟实验室作为示范工程,开展了一系列探索性研究并取得了实质性进展。ADDINNE.Ref.{49E243D3-0868-41D8-864C-3DC63EA511C5}[2]同一时期在美国的各大高校中,也在相继进行着虚拟化实验室的开发与研究,这使得研究人员可以随时随地,仅仅需要Internet就可以使用想要使用的仪器,简简单单在电脑上模拟各种实验,同时应用到了学生的学习过程之中,迅速有效地解决了许多学习中的问题。国内的远程实验室组建历史,就网上可查的信息来看,也是早就产生了影响,大多理工类高校早就开展了部分虚拟网络实验室。自1989年虚拟实验室概念提出至今的二十多个年头里,因为其应用的必要性及有效性,还有其广阔的前景吸引了大批专家学者的注意,各国均在重点开发并都取得了不错的成果。课题主要完成的工作(1)阅读大量文献。通过对国内外文献的阅读,了解远程实验系统的架设方法。(2)熟练使用MATLAB软件。熟悉MATLAB的用法,并借助其中Webserver功能进行远程实验设计,并通过MATLAB与数字图像处理的关系制作一些有用的实验课题。并解决M文件与ASP动态网页的数据交换。(3)熟练使用ASP编写动态网页,并且设计实验面板以及数据交换。(4)学会服务器架设,使得编写的实验系统可以在远程计算机访问。

使用MATLAB处理数字图像的方法数字图像处理方法的研究源于两个主要应用领域:一是为了方便于人们分析图像而对图像的信息和样式进行改进;二是为了让机器语言自动识别图像而对图像的数据进行储存、显示及传输。目前工程领域应用最广的对数字图像的处理方法是使用MATLAB软件进行对图像数值的修改从而实现上述功效。数字图像处理的概念如果将一幅图像定义成一个二维函数f(x,y),这里的x和y分别指空间坐标系,而在空间坐标系(x,y)上存在的幅值f称之为该点图像的灰度或者强度。当x,y以及幅值f是有限的离散数值时,就将此图像称之为数字图像。数字图像的处理通俗来说就是借助计算机来处理数字图像,而数字图像基本都是由有限个独立的元素所构成的,并且每一个元素都具有一个特定而有一定规律的位置和对应幅值,我们将这些构成元素称之为像素或画面元素。视觉可以说是人类的最高级感知器官,所以图像的分析识别在人类感知中极为重要,不过人类的感知仅仅限于分辨部分电磁波谱形成的波段,而真正意义上的数字设备则可以包括几乎所有的电磁波谱,比如人眼无法识别的伽马射线和无线电波。可以利用数字机器对人类肉眼无法识别那些图像进行分析和加工,这些图像包括精密机械领域常用的超声波、生物化学领域常用的电子学显微镜以及计算机所产生的数字图像。所以数字图像处理涉及各种各样的应用领域。无论是计算机视觉还是数字图像处理,涵盖这两者的整个范畴没有明确的界限。不过,我们仍旧习惯性地将数字图像处理分成了三个较为明确的类别,即低级、中级、高级数字图像处理,以便合理区分其中的不同学科。其中低级处理最为常用,所应用的也都是初级操作,比如对比度、灰度的改变还有图像的降噪以及图像锐化羽化等,低级处理的特点在于输入与输出均为图像本身,而并未改变其性质。中级处理则包括了重要的图像分割一项,其目的是为了让数字图像能够更容易被计算机识别和处理,从而达到更高层次的利用,中级处理的特点与初级相较而言,虽然输入仍是图像本身,可中级处理的输出变为了从原图像之中提取出来的重要特征量,比如边界或阀值等。最后,高级处理则是基于中级处理对图像进行整体的理解,并随之执行与人类视觉相关的识别函数等。数字图像处理的应用实时至今日,几乎不存在与数字图像处理无关的技术领域,此处不可能一一列举,只是举出一小部分。2.2.1伽马射线成像伽马射线成像的主要用途包括核医学和天文观测。在核医学中,这种处理是将放射性同位素注射到病人体内,当这种物质衰变时放射出伽马射线,然后用仪器检测伽马射线产生放射物图像,还可利用伽马射线成像得到骨骼扫描图等。2.2.2X射线成像X射线是最早用于成像的电磁辐射源之一。最熟悉的X射线应用于医学诊断,但是X射线还被广泛应用于工业和其他领域,如天文学。2.2.3紫外波段成像紫外光的应用是多种多样的,包括平板应刷技术、工业检测、显微镜方法、激光、生物图像以及天文观测等。数字图像处理的基本步骤关于数字图像处理的分类有两种形式,一类是其输入输出均为图像,另一类输入的可能是图像,而输出的是从图像提取的特征属性。图像获取是第一步处理,包括如何设置比例尺等预处理。紧接着是图像增强,这是数字图像处理最简单和最有吸引力的领域。基本上增强技术的思路是显现那些模糊了的细节,或简单的突出一幅图像中感兴趣的特征。一个图像增强的例子是增强图像的对比度,使其看起来更容易辨认一些。增强图像是图像处理中非常主观的领域,多数情况下图像处理技术都与数学紧密相关,如傅里叶变换。图像复原也是改进图像外貌的一个处理领域。然而与增强不同的是,图像复原是客观的。在某种意义上来说,复原技术倾向于以图像退化的数学或概率模型为基础。彩色图像处理是为了应对互联网上的图像处理需求,彩色处理还是提取图像中感兴趣的特征的基础,如小波就是在各种分辨率下描述图像的基础。图像压缩正如其名称一样,所涉及的技术师减少图像的储存量,或者在传输图像时降低频带。虽然存储技术在过去十年内有了很大改进,但对于传输能力在各方面还有所限制,尤其在互联网传输中更是如此。形态学处理涉及提取图像元素的工具,它在表示与描述形状方面非常有用。这一步骤将从输出图像处理到输出图像特征处理的转换开始。分割过程就是将一副图像划分为更容易单独识别的目标。通常来说,分割是数字图像处理的工序中难度最大的。为了成功地解决把目标逐一识别出来这样的问题,分割过程中将会出现大量的处理工序。而且不完善或者是不稳定的算法将有可能导致整个分割工作的失败,总体来讲分割工作做的越准确,识别就越成功。再接着是图像的表示以及描述,一般都是在分割工作之后就将进行表示与描述的工作。一般来说此时输出的是最原始的数据,通常是未被加工的边缘或区域本身。不过不管是上述哪种情形,我们的目的都是把图像变为更容易被计算机识别与处理的数据。为了确定所处理的数据是一个完整区域还是边界,就需要关注数据的外部特性,如果外部特性表现形式是曲线或折线,则应该是边界,反之则可能为一个区域。在数字图像处理过程中,许多方法都是互相通用的。选择其中一种表现方式其最终目的还是将数据变得更容易被计算机处理,以完成后续的相关工作。在表示之后确定了一种方式,可以将数据以其特征划分为感兴趣与不感兴趣的形式来进一步实行识别处理,这种方式称之为图像的描述。描述又称为特征选择,识别并提取一个特征,这个特征正是处理者想要提取的或者是更具有代表性的特征,从而使一些不感兴趣的信息不会模糊整个图像的概念。最后是识别,而识别就是在描述的基础上,给图像加上符号的过程。MATLAB与数字图像处理的关系MATLAB是一种功能非常强大的科学计算软件。MATLAB不仅在数值计算上保持着相对于其他同类软件的绝对优势,而且还具有符号运算功能。有了这个功能,使用者就可以直接在MATLAB上进行所有的计算操作,使用者不必要同时在掌握MATLAB的情况下还要去掌握另一种工具性的符号运算软件来使本就复杂的计算过程变得更加繁琐。在计算的过程中,许多复杂的计算过程要用更加迅速的方法计算出来,都是因为算法的可靠性。而MATLAB中自带了很多先进算法,使用者可以直接引用而不必再专门编写算法,很大程度上降低了运算的复杂性。而且这一设计使得MATLAB程序不会因为用户编写算法崩溃而使得整个程序和运算过程崩溃。这样一来也就改善了运算所需要的时间,因为有的时候运算的速度也是运算必不可少的一项功能,其重要程度有时甚至不亚于计算过程本身。图形可视化技术是MATLAB与数字图像处理之间最为重要的联系。而且MATLAB自带的图像处理和分析工具箱支持索引图像、RGB图像、灰度图像、二进制图像,并能操作*.bmp、*.jpg、*.tif等多种图像格式文件。这就大大减轻了编程工序,使得MATLAB成为了数字图像处理的必备工具。MATLAB提供了2O类图像处理函数,包含了图像处理从起初至今的研究成果,可以说包括了所有数字图像处理的技术与功能实现,对于数字图像处理的研究者以及学习者都算是必不可少的工具。这些功能性函数可分为图像算术运算、像素值与统计、图像显示、图像增强、图像登记、线性滤波、图像去模糊、图像变换、线性二元滤波设计、几何变换、邻域与块处理、图像文件I/O、灰度与二值图像的形态学运算、图像分析、结构元素创建与处理、色彩映射表操作、基于边缘的处理、色彩空间变换及图像类型与类型转换。

比如常用的操作有:1)imread('图片所在地址')

imread函数用于读入各种图像文件。>>

a=imread('C:\Users\XSX\Pictures\desk_cg_98.jpg');

2)image('图片名')

image函数MATLAB提供的最原始的图像显示函数。>>

image(a)

3)imcrop('图片名',[x起点,y起点,x宽度,y宽度])

3)imcrop('图片名',[x起点,y起点,x宽度,y宽度])

用imcrop()函数可剪切图像中的一个矩形图。>>

b=imcrop(a,[600,0,800,900]);

>>

imshow(b);MATLAB在数字图像中的应用例如灰度直方图均衡化与灰度转换1)rgb2gray('RGB图像')说明:这个命令是把R.G.B色彩影像转化为灰度色彩的影像,适用于将三维数组转化为二维的数组,从而方便MATLAB处理数字图像。histeq('灰度图象')自然图像的灰度级直方图通常是在低灰度范围比较大,而在较深的区域的图像的细节尚不清楚。使用柱状图敷料可以使原始图像的灰度浓度或使灰度分布均匀,以便提高对比度,从而使图像清晰,的细节,以提高的目的。直方图均衡可以通过histeq0功能来实现。imhist('灰度图象')MATLAB图象处理工具箱提供了imhist函数来计算和显示图象的直方图,imhist函数的语法格式为:imhist(I,n)或imhist(X,map)其中imhist(I,n)计算和显示灰度图象I的直方图,n为指定的灰度级数目,默认值为256。imhist(X,map)计算和显示索引色图象X的直方图,map为调色板。imshow('图片名')imshow()与image()都是用来显示图片的,只是image()可以直接显示图像坐标而imshow()需要调用。imadjust('图片名',[low_inhigh_in],[low_outhigh_out])如果原图象f(x,y)的灰度范围是[m,M],我们希望调整后的图象g(x,y)的灰度范围是[n,N],那么下述变换就可以实现这一要求。MATLAB图象处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度增强。说明:[low_inhigh_in]为原图象中要变换的灰度范围,[low_outhigh_out]指定了变换后的灰度范围。灰度直方图均衡化与灰度转换的程序如下所示:>>a=imread('C:\Users\XSX\Pictures\desk_cg_98.jpg');>>b=rgb2gray(a);把三维RGB像素的a图转化为二维灰度色的b图>>c=histeq(b);>>d=imadjust(b,[0.10.7],[]);>>figure(1);imshow(a)ASP动态网页设计与服务器架设ASP动态网页简介网站的发展已不满足于仅供用户单纯地浏览,更应该着重于与用户的交互,如何编制动态交互式网页是当今网站建设与维护的一个必然趋势。ASP.NET是一个统一的Web开发模型,其中包括你需要生成尽可能少的代码尽可能的企业级Web应用程序的各种服务。ASP.NET作为Framework.NET的一部分。当你写代码的ASP.NET应用程序,您可以访问Framework.NET类。您可以使用与公共语言运行库(CLR)来编写,包括VisualBasic中的JScript,C#,.NET微软,和J#应用程序的代码兼容的任何语言。使用这些语言,通用语言运行库,类型安全,和继承的优势ASP.NET应用程序可以开发。ASP网络页面和控件框架、ASP网编译、安全的基础设施,状态管理功能,应用程序配置,状况监测和性能特点,调试支持,XMLWeb服务框架,可扩展的托管环境和应用程序生命周期管理,可以扩展的设计环境。您可以使用ASP.NET页面作为Web应用程序的可编程用户界面。在任何浏览器或客户端设备ASP.NET网页,向用户提供信息,并使用服务器端代码来实现应用程序逻辑。ASP.NET网页具有以下特点:基于ASP.NET微软的技术。在这种技术中,在服务器上运行的代码动态地生成的浏览器或动态的客户机设备的网络输出..兼容所有的浏览器或移动设备。ASP.NET网页自动为样式,布局和其他功能页面看起来是正确的,根据浏览器的HTML。此外,您还可以在特定的浏览器(如InternetExplorer6微软),并使用浏览器特定的功能设计ASP.NET网页。兼容。.NET公共语言运行库支持的任何语言​​,包括MicrosoftVisualBasic中,微软的VisualC#,微软J#和MicrosoftJScript中的。净。代of.NET框架Microsoft。它提供了框架的所有优点,包括托管环境,安全和继承的类型。具有灵活性,因为您可以向它们添加用户创建的控件和第三方控件。ASP.NET网页可以完成哪些任务Web应用程序编程带来了一些特殊的难题,在对传统的基于客户端的应用程序进行编程时,通常不会遇到这些难题。这些难题包括:多样式的Web用户界面的实现使用基本的HTML功能来设计和实现用户界面很难和繁琐的,特别是在复杂的布局的页面,其中包含了大量的动态内容和功能齐全的用户交互对象。客户端和服务器的分离中的Web应用程序时,客户端(浏览器)和服务器是不同的程序,它们通常在不同的,甚至不同的操作系统的计算机的操作。因此,应用程序共享只有很少的信息的两个部分;他们可以沟通,但往往只更换小件简单的信息。否当Web服务器接收到一个页面请求的国企高管,会发现页面,治疗,将发送到浏览器,然后放弃所有的信息页面。如果用户再次请求同一个页面,服务器将重复整个过程:从无到有,该网页重新-处理。换句话说,服务器会不记得它已处理的网页-是无状态的。因此,如果应用程序需要保持约一个页面的信息,它的无状态特性成为一个问题。在许多情况下是未知的客户端功能,该web应用程序可能是许多不同的浏览器的用户访问。该浏览器有不同的特点,所以很难建立,将在所有浏览器上运行同样的应用程序。数据访问的复杂位于数据源中的传统Web应用程序的读写非常复杂,而且会消耗大量的资源。的,在许多情况下的复杂性,由于缺乏应用程序的不同组件之间的相容性,导致与现有的Web应用程序的设计方法缩放未能实现的可扩展性的目的。对于更短的开发周期,这是经常发生故障的常见原因。要解决这些Web应用程序的问题,你可能需要大量的时间和精力。ASP.NET通过以下几个方面的网络和ASP.NET页面框架来处理这些问题:直观的,一致的对象模型的ASP。.NETFramework提供了一个对象模型,它可以让你的形式作为一个整体,而不是单独的客户端和服务器模块。在这个模型中,可以比传统的Web应用程序,其中包括属性和响应事件可以设置页面元素更直观地编程的页面。另外,ASP.NET服务器控件是基于HTML页面,浏览器和服务器之间的直接互动的物理内容的抽象模型。作为一项规则,你可以使用服务器控件在客户端应用程序中使用控制,而不必考虑如何建立一个HTML显示和处理控制和它的内容。事件驱动的编程模型ASP。净为web应用程序web页面带您熟悉的模型,该模型为事件发生时客户端和服务器编写事件处理程序。抽象的页面框架模型来捕获事件在客户端,就会将其传输到服务器并调用适当的方法操作的基本机制是自动的,和你是不可见的。因此,一个清晰的、容易编写和支持事件驱动代码结构开发..直观的状态管理ASP。净页面框架页面的自动处理和控制状态维护任务,这使您能够以明确的方式维护状态的特定于应用程序的信息。这种状态管理不使用可以实现大量的服务器资源,并且可以通过浏览器Cookie来实现,但也向浏览器发送Cookie来实现。在浏览器中独立应用ASP。网络页面框架允许您创建所有服务器上的应用程序逻辑,而不需要浏览器显示代码之间的区别。然而,它仍然允许您使用浏览器特定的功能,方法是提供增强的性能和丰富的客户体验客户端通过编写代码。支持ASP。净框架页面框架是建立在公共语言运行库。微软网络框架的基础上,所以该框架可用于任何ASP。网络应用程序。您的应用程序可以用任何语言编写兼容运行时。此外,数据访问底层结构(包括ADO.NET)提供的框架。网络是简化。的。净框架扩展服务器性能ASP。净框架允许您的web应用程序从一个配备了一个处理器的计算机有效地扩展到多计算机网络领域,应用程序逻辑,没有复杂的变化。ASP.NET的开发本次设计采用了较为简便的网页设计软件Dreamweaver来完成ASP动态网页的开发,此款软件不需要繁琐的进行开发环境设置,可直接利用HTML语言或者直观利用页面布局进行编写,是目前较为流行的网页编写方式。IIS服务器配置IIS是Internet

Information

Server的缩写,它是微软公司主推的Web服务器。只要完成IIS的安装于配置,就可以轻松地在个人电脑上架设服务器了。具体步骤如下:首先是安装IIS。打开控制面板,找到“程序与功能”,点击左侧“打开或关闭Windows功能”找到“Internet信息服务”,按照下图打勾即可。安装完成后,再回到控制面板里面,找到“管理工具”,双击“Internet信息服务(IIS)管理器”就是IIS了。后面设计中经常会用到,所以可以鼠标指到“Internet信息服务(IIS)管理器”上,右键--发送到--桌面快捷方式,这样就能从桌面进入IIS,而不用每次都点控制面板。图STYLEREF1\s3-SEQ图\*ARABIC\s11选中“DefaultWebSite”,双击中间的“ASP”把“启用父路径”改为“True”,下面就是配置站点了。单击右侧“高级设置”,选择网站的目录(这里因为是要应用MATLABWebserver,故而此处目的选择至MATLAB程序目录下的toolsbox/webserver/wsdemos)回到IIS,单击右侧的“绑定”,选中要绑定的网站,点“编辑”只修改后面的端口号就行,可以随意修改数字。如果是办公室局域网,点击下拉框,选择自己电脑上的局域网IP,例如:192.168.**.**,然后修改端口号。MATLABWebserver配置Matlabwebserver是Matlab安装时的可选包,通过此组件主机上安装Matlab,编辑好具体的输入输出页面、M文件,那么在同一局域网中的其他客户机什么都不同装也可以使用Matlab功能。必须有一个传统的Web服务器服务器提供WWW服务,我们要使用的是ApacheWeb服务器,以MATLAB的Web服务和安装MATLAB的在产品组件选择Matlab的Web服务器,每次开机时,服务将自动启动。Matlab的Web服务代理(Matweb.exe)必须安装在同一台机器,并在系统的网络服务器上,并与Matlab的Web服务程序(Matlabserver)可以在同一机器或不同机器上。当MatWeb的和服务器MatlabWeb在不同的机器上,要注意画面问题的路径。服务器MatlabWeb正在通过CGI,为了让使用Apache的CGI程序,您必须打开权限CGI。如果Apache安装在C盘根目录下。首先,找到<目录C:\Apache的\cgi-bin目录在httpd.conf文件><目录>这段文字中,选择无以ExecCGI选项。重启apache才能生效。服务器Matlab的Web程序需要生成一个图片,需要一个\图标目录来保存图片。Apache中,图标只是所使用的别名(别名)映射到C的方法:\阿帕奇\图标\可以找到一个行别名/图标/℃:/阿帕奇/图标/在httpd.conf并按照类型使用推荐做法手册,图标会,映射到网站根目录,将只是一个改变:别名/图标/C:/apache/htdocs中/“。图STYLEREF1\s3-SEQ图\*ARABIC\s12MatlabServerMatlabServer系统配置文件。conf,首先安装,文件只有一行和参数表示允许在运行matlab过程数量,可以根据需要改变数量。图STYLEREF1\s3-SEQ图\*ARABIC\s13图STYLEREF1\s3-SEQ图\*ARABIC\s14WebServer本身的配置文件是matweb.Conf,CGI程序为matweb.exe,首先将这两个文件复制到Apache安装目录下的cgi-bin目录。matweb.conf中注明的各Matlab程序要配置两个变量:一是mlserver,即服务器名称或IP,例如mlserver=;二是mldir,即Matlab程序的路径,例如mldir=c:\Apache\htdocs。

远程实验平台的实现远程实验设计基本概念一个MATLABWebserver应用程序大致包含三个部分,即:HTML输入界面、M文件和HTML输出界面。当实验者在浏览器中的输入界面进行相关参数设置后,数据通过网络提交给服务器上的MATLAB以相对应的M函数文件进行处理,之后在将结果以数据或者图片的形式在实验者的浏览器输出页面进行显示,实验者就可以看到实验结果。例如以数字图像处理中的“图像线性变换”来举例。实验内容是把衣服给定的图像先转换成灰度图,然后再对灰度图进行线性变换。比如原始图像的灰度图像为f(x,y),则变换后的图像g(x,y)=af(x,y)+b。其中的a和b就是变换系数,只要改变a的大小,就可以使图像对比度产生变化,改变b的大小,就可以使图像亮度产生变化。如当a=1,b>0时,图像变亮,a=1,b<0时,图像就会变暗;当a>1,b=0时,图像对比度就会相应增强,而当a<1,b=0时,图像的对比度就减弱。由此,可以创建的三个部分文件就可以分别为transform_input.html(输入页面),transform_output.html(输出页面)和transform.m(M函数文件)。输入页面的创建此处借助了上文提到的Dreamweaver软件来完成输入页面的编写,主要是设定一些输入参量,此处所需要的参量只有a、b两项。其中关键代码为:……<formaction=”/cgi-bin/matweb.exe”method=”POST”><inputtype=”hidden”name=”mlmfile”value=”transform”>……参数的提交是通过网页中的表单form来实现的。而表单action的属性必须与MATLABwebserver服务器根目录一致,这样才能在用户填写参量提交后,调用matweb程序,从而获取输入参数。表单中的mlmfile其属性是隐含的,value的值是MATLAB应用程序的名称。M文件的编辑M文件是实现实验成功与否的关键性介质,当接收到数据参数时,M文件负责接收输入页面的数据,然后把计算的结果反馈到HTML输出界面。程序如下:functionretstr=transform(in)retstr=char(‘‘);mlid=getfield(in,’mlid’);cd(in.mldir);a=str2double(in.a);b=str2double(in.b);I0=imread(‘images/winter.jpg’);%读入图像f=figure(‘visible’,’off’);imshow(I0)%显示原来的图像drawnow;s.GraphFileName1=sprintf(‘icons/%sorigin.jpeg’,mlid);wsprintjpeg(f,s,GraphFileName1);s.GraphFileName1=sprintf(/icons/%sorigin.jpeg’,mlid);if(~isgray(I0))%判断该图像是不是灰度图像,如果不是则转换成灰度图像I1=rgb2gray(I0);end;f=figure(‘visible’,’off’);Imshow(I1)%显示处理后的图像drawnow;s.GraphFileName2=sprintf(‘icons/%sgray.jpeg’,mlid);wsprintjpeg(f,s.GraphFileName2);s.GraphFileName2=sprintf(‘/icons/%sgray.jpeg’,mlid);I2=double(I1);[mn]=size(I2);%分析图像尺寸以便统计直方图fori=1:mforj=1:nI3(i,j)=a*I2(i,j)+b;end;end;I4=uint8(I3);%数据转换,因为储存和显示图像为uint8型F=figure(‘visible’,’off’);Imshow(I4)%显示处理后的图像Drawnow;s.GraphFileName3=sprintf(‘icons/%strans.jpeg’,mlid);Wsprintjpeg(f,s.GraphFileName3);s.GraphFileName3=sprintf(‘/icons/%strans.jpeg’,mlid);Closeall;Templatefile=which(‘transform_output.html’);Rerstr=htmlrep(s,templatefile);End在上面的代码中,transform是该应用程序的名称,instract是stract类型的结构变量,其中包含的MATWEB网关传输的输入参数和程序的工作目录和一系列的信息。如果HTML输入接口的输入参数的字符串形式,str2double命令可以改变字符串的字符串值,然后参与随后的操作..MATLAB应用程序将结果写入后的结构变量s变量处理。结构变量s包括所有输出变量,每个变量(什么类型)可以使用成员变量s的杰作。Getfield函数用于获取数值结构变量的成员之间mlid,mlidMATLABwebserver识别的过程,使用它可以确保生成的图像文件的名字是只对应用程序使用不同的连接请求是相同的。而sGraphFileName=sprintf(‘%sxxx.jpeg’,mlid)是拥有生成图片文件名的功能,比如mlid的值是ml003,那么图片文件所产生的名字就是ml003sxxx.jpeg。接下来的wsprintjpeg命令则可以用来生成jpeg格式图片,比如wsprintjpeg(f,s.GraphFileName)中f为图片的句柄,GraphFileName所要生成的图片名称。输出界面的编写与输入界面大致相同,其中的关键性HTML代码为:……<palign=”center”>原始图像/p><palign=”center’><img

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论