flex 接收播放rtmp视频 接收播放rtmfp视频 接收fms视频

本文介绍了一个使用Flash技术实现的视频播放示例,通过NetConnection和NetStream进行流媒体连接,并利用Video组件显示视频内容。该应用支持调整视频尺寸及播放源地址。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 
 <fx:Script>
  <![CDATA[
   protected function button1_clickHandler(event:MouseEvent):void
   {
    // TODO Auto-generated method stub
    VG.width=int(textqietuk.text);
    VG.height=int(textqietuh.text);
    VideoExample();
   }
   
   import flash.display.Sprite;
   import flash.events.*;
   import flash.media.Video;
   import flash.net.NetConnection;
   import flash.net.NetStream;
   
   private var videoURL:String = "livestream01";
   private var connection:NetConnection;
   private var stream:NetStream;
   
   public function VideoExample():void {
    connection = new NetConnection();
    connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    connection.connect(textdz.text);//如rtmp://111.111.111.111:555/live
   }
   
   private function netStatusHandler(event:NetStatusEvent):void {
    switch (event.info.code) {
     case "NetConnection.Connect.Success":
      connectStream();
      break;
     case "NetStream.Play.StreamNotFound":
      //trace("Unable to locate video: " + videoURL);
      break;
    }
   }
   
   private function connectStream():void {
    var stream:NetStream = new NetStream(connection);
    stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
    stream.bufferTime=0
    var video:Video = new Video();
    video.width =int(textw.text);
    video.smoothing=true;
    video.height =int(texth.text);
     
    video.attachNetStream(stream);
    stream.play(texturl.text);
    sprct.addChild(video);

   }
   
   private function securityErrorHandler(event:SecurityErrorEvent):void {
    trace("securityErrorHandler: " + event);
   }
   
   private function asyncErrorHandler(event:AsyncErrorEvent):void {
    // ignore AsyncErrorEvent events.
   }
   
  ]]>
 </fx:Script>
 
 <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 </fx:Declarations>
 <s:Button x="699" y="62" label="开始" click="button1_clickHandler(event)"/>
 <s:Label x="60" y="23" text="宽:"/>
 <s:Label x="60" y="66" text="高:"/>
 <s:TextInput id="textw" x="90" y="18" width="61" text="502"/>
 <s:TextInput id="texth" x="90" y="62" width="61" text="363"/>
 <s:Label x="177" y="46" text="地址:"/>
 <s:TextInput id="textdz" x="221" y="41" width="184" text="rtmfp://116.93.34.5:19351/live"/>
 <s:TextInput id="texturl" x="429" y="42" width="94" text="livestream02"/>
 
 <s:Scroller  x="149" y="155" width="363" height="363"   >
  <s:VGroup id="VG" width="100%" height="100%" >
   <s:VideoDisplay id="sprct" width="200" height="200" scaleMode="none"/>
  
  </s:VGroup>
 </s:Scroller>
 
 <s:Label x="580" y="36" text="切图宽:"/>
 <s:Label x="580" y="66" text="切图高:"/>
 <s:TextInput id="textqietuk" x="636" y="31" width="55" text="502"/>
 <s:TextInput id="textqietuh" x="636" y="62" width="55" text="363"/>
</s:Application>

本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩与纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算与数据处理能力的工具,在图像分析与模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常与其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换与直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构与形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式与Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取与分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术与模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识与实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习与掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值