主要内容

このページの翻訳は最新ではありませ。

综合ガウスモデルをををし自动车の検出

この例では,综合ガウスモデル(GMM)に基极具仪器ををしビデオからから自动车辆を検出し,その数を。

はじめに

自动车の検出とはは交パターンパターン解析使できでき,タイプ别に自动车の追迹や类をうう,さらに高度なを実など前の最初のでもありでもあり。

この例で,前景前景器とブロブ解析をしてシーケンス内のの自动车を検出し,カウントカウントしてもの。カメラは静止ているものししますます。焦点焦点を当てていますオブジェクトのの追迹の详细については,动きに基于づくのの追迹という表题の例を参照してください。

手顺1 - ビデオビデオのインポートインポートと検のの化とのの

この例では,ビデオ全体ををににする,まずまずのビデオフレームをし,动词オブジェクトオブジェクトを背景セグメントセグメントしししししししししししししししししししステップステップステップをを徐々にするしししステップをステップしステップししで役立ちます。

前景源器で,综合ガウスガウスモデルををにためににこのビデオフレームが必要のこのフレームが必要のですこのをがのの.

forearchdetector = Vision.ForeCloundDetector('numgaussians',3,......'numtringframes',50);Videoreader = Videoreader('VisionTraffic.avi');为了i = 1:150帧= ReadFrame(Videoreader);%读取下一个视频帧前景=步骤(前景detector,帧);结尾

学科の行と,検出器材で力されるセグメンテーション结果结果頼性ののますます,ビデオフレームのます,ビデオフレームののつとたマスクで计算されたマスク示し计算いた前景示し示してい

数字;imshow(框架);标题('视频框架');

数字;imshow(前景);标题('前景');

手顺2 - 最初のビデオフレームで自动车検出

前景のセグメンテーションは完璧ではなく,望ましくないノイズが含まれることが多々あります。この例ではモルフォロジーオープニングを使用してノイズを除去し,検出されたオブジェクト内の隙间を涂りつぶします。

se = strel('正方形',3);filteredforeground = imopen(前景,se);数字;imshow(FilteredForeground);标题('干净的前景');

次に,视觉.Blobanalysisオブジェクトオブジェクトを使し,走自行车に対応する连结连结の境界を各连结ますますます见つけ。このオブジェクト150ピクセルのブロブをして,検出され前景をさらにさらにてます。

Blobanalysis = Vision.Blobanalysis('bandingboxoutputport', 真的,......'AreaOutputport', 错误的,'centroidoutputport', 错误的,......'MiniplyBlobarea',150);bbox =步骤(Blobanalysis,filteredforeground);

。

结果= insertshape(帧,'长方形',bbox,'颜色''绿色');

境界ボックスのは,ビデオフレーム内で検出さた自动车ののにししますます。管理したビデオのの左に,検出されの自动车の数をします。

numcars = size(bbox,1);结果= InsertText(结果,[10 10],numcars,'boxpacity',1,......'字体大小',14);数字;imshow(结果);标题('检测到的汽车');

手顺3 - 残りのビデオフレームフレームフレーム原理

最后の手顺では残りのビデオフレームを处理します。

VideoPlayer = Vision.videoplayer('姓名''检测到的汽车');Videoplayer.Position(3:4)= [650,400];%窗口大小:[宽度,高度]se = strel('正方形',3);噪声消除的百分比形态过滤器尽管Hasfame(Videoreader)Frame = ReadFrame(Videoreader);%读取下一个视频帧%检测当前视频帧中的前景前景=步骤(前景detector,帧);%使用形态开口去除前景中的噪音filteredforeground = imopen(前景,se);%检测具有指定最小区域的连接组件,以及%计算它们的边界框bbox =步骤(Blobanalysis,filteredforeground);%在检测到的汽车周围绘制边界盒结果= insertshape(帧,'长方形',bbox,'颜色''绿色');%显示视频帧中发现的汽车数量numcars = size(bbox,1);结果= InsertText(结果,[10 10],numcars,'boxpacity',1,......'字体大小',14);步骤(导镀器,结果);%显示结果结尾

出力ビデオは自动车のの周りますまた表示れますますささ。