動画でカスケード分類器使用

2 visualizaciones (últimos 30 días)
わとー
わとー el 2 de Sept. de 2020
Comentada: わとー el 6 de Sept. de 2020
私は以下のようにして一枚絵からカスケード分類器を用いた認識を行いました。
detector = vision.CascadeObjectDetector('~~');
RGB = imread('~~');
bbox = step(detector,RGB);
detectedImg = insertObjectAnnotation(RGB,'rectangle',bbox,'mouse');
figure; imshow(detectedImg);
今度は動画で認識を行いたいのですがRGBの文をvision.VideoFileReader(~~~)に変えたら
エラー: vision.CascadeObjectDetector/validateInputsImpl (line 338)
2 番目の入力引数 は次のタイプのいずれかにする必要があります:
uint8, uint16, double, single, int16
指定されたタイプは vision.VideoFileReader でした。
エラー: mouserecognation2 (line 6)
bbox = step(detector,v);  」
というエラーが出てしまいました。 どう書き直すと良いでしょうか?
追記:vf= RGB();を追加してdetectedImg = insertObjectAnnotation(vf,'rectangle',bbox,'mouse');
とすると動画は出たのですが再生しません。

Respuesta aceptada

Shunichi Kusano
Shunichi Kusano el 3 de Sept. de 2020
こんにちは。
VideoFileReaderは、ビデオを再生するわけではなく、ビデオの先頭から1フレームずつ読み込む仕様です。
詳しくは下記ページの使用法の部分を読んでいただけるとわかるかと思います。
vr = vision.VideoFileReader(ファイル名);
frame = vr(); % 先頭フレームを読み込む(以後、このコマンドを実行するたび次のフレームを読み込む)
imshow(frame); % 読んだフレームを表示
ですので、1フレームずつ読んで処理してを繰り返すのが基本的な使い方です。
while ~isDone(vr)
frame = vr();
%% 処理本体
% なにか書く
%%
end
  1 comentario
わとー
わとー el 6 de Sept. de 2020
videoPlayer = vision.VideoPlayer;を追加して
figure; imshow(detectedImg);をvideoPlayer(detectedImg);に書き換えたところ動きました、有難うございます。

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!