主要内容

このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

IPカメラからストリミングされたjpegメジの表示

この例では,httpMultipartConsumerを使用してWebサ。ImageConsumerクラスCameraPlayerをカスタマイズして,IPアドレスから派生する架空のWebサイトからJPEGイメージを表示します。

実際に動作する例を作成するには,次が必要です。

  • 次のようなIPアドレスベアドレスベスのurl

    url =“http://999.99.99.99/video/mjpg.cgi”
  • 次のような資格情報

    证书(“计划”“基本”“用户”“管理”“通过”“管理”);信誉。用户名=“yourName”;信誉。密码=“yourPassword”

CameraPlayerクラス

IPカメラが,終了することのないマルチパートメッセージの一部としてJPEGイメージを送信します。各パトは“图像/ jpeg”型です。このメッセジを処理するには,“图像/ *”型のパトをCameraPlayerで処理することを指定するMultipartConsumerを作成します。MATLAB®は受信したCameraPlayer.putDataメソッドを呼び出し,このメソッドは自身のスパクラスを呼び出してデタを変換します。その後,CameraPlayerimshowで图ウィンドウを作成してイメージを表示し,後続のイメージも同じウィンドウに表示します。ユザがウィンドウを閉じると,putData停止= trueを返し,それによりmatlabが接続を閉じます。

classdefCameraPlayer < matlab.net.http.io.ImageConsumerIP摄像头的播放器在图形窗口中显示图像内容类型的内容消费者。如果%直接在RequestMessage.send()操作中指定,它假定ResponseMessage的全部内容是一个单一的图像。如果响应%是一个多部分的消息,它被指定为图像的处理程序%类型到GenericConsumer或MultipartConsumer,那么这里假设每种类型都是%部分是视频流的一帧,并在接收到视频流时显示它们。% CameraPlayer属性:CameraPlayer构造函数% Image -当前显示的Image对象下面显示接收到的图像,或接收到的图像序列%,并保存在响应中接收到的最后一个图像message数据。显示的最后一个图像保持可见,直到cp是%删除。% req = RequestMessage;% cp = CameraPlayer;% resp = req。发送(url, [], GenericConsumer('image/*', cp));% image = cp.Image;%……操作图像数据…版权所有2017 The MathWorks, Inc.属性% Image -当前显示的Image对象此图像在“图中轴”中。当该对象被删除时,将被删除%删除。图像%足以控制显示消息的次数足够的结束方法函数obj = CameraPlayer() obj = obj@matlab.net.http.io.ImageConsumer();结束函数[len, stop] = putData(obj, data)putData -由MATLAB或父消费者调用来处理图像数据将数据传递给ImageConsumer,它将对数据进行缓冲,直到数据结束%,然后根据图像的类型将其转换为MATLAB图像。[len, stop] = obj.putData@matlab.net.http.io.ImageConsumer(data);如果isempty(数据)%图像结束;在Response.Body.Data中显示结果imdata = obj.Response.Body.Data;如果iscell (imdata)如果~ isempty (imdata {2})如果它是一个索引图像如果我们得到一个单元格数组,那么转换Imdata = ind2rgb(Imdata {1}, Imdata {2});其他的Imdata = Imdata {1};结束结束如果isempty (obj.Image)第一次调用时,创建一个包含图像的图形obj。Image = imshow(imdata);obj。Enough = 0;其他的%后续调用时,只需更改已显示的CData%的形象。obj。Enough = obj.Enough+1;如果obj。足够的> 100 disp“要停车,请关闭车窗。”obj。Enough = 0;结束试一试obj.Image.CData = imdata;e%失败,如果窗口关闭或数据错误如果比较字符串(e.identifier“MATLAB:类:InvalidHandle”%用户必须已关闭窗口;终止默默地停止= true;disp“图窗已关闭。”返回结束结束结束drawnow结束结束函数删除(obj)删除(obj.Image);结束结束结束

CameraPlayerの呼び出し

次のコドは,。コドを実行するには,<>文字に囲まれた内容の値を指定しなければなりません。WebサービスのURLには,ログイン情報やその他の情報を名前と値のペア引数で指定する追加パラメーターが含まれる場合があります。CameraPlayerを活用するには,これを发送の呼び出しに追加します。要求メッセジ作成の詳細にいては,HTTP邮箱ンタ邮箱フェ邮箱スを参照してください。

url =' < YOUR_URL_CONTAINING_IP_ADDRESS >”;cp = CameraPlayer;multipartconsumer (“图像/ *”, cp);证书(“计划”“基本”“用户”“管理”“通过”“管理”);信誉。用户名=' < YOURNAME >”;信誉。密码=' < YOURPASSWORD >”;opts = matlab.net.httppoptions (“信誉”信誉,“SavePayload”,真正的);r = matlab.net.http.RequestMessage();Resp = r.send(url, opts, consumer);