顔追跡と輝度値の読み取り

17 ビュー (過去 30 日間)
Karen
Karen 2019 年 11 月 7 日
コメント済み: Kenta 2019 年 11 月 9 日
顔の動画から輝度値を読み取ることを行っています。現在は手動で領域を指定し、その箇所の輝度値を読み取っていますが、今後は顔追跡を行い、顔だと認識した箇所の輝度値を読み取りたいと思っています。顔追跡と輝度値の読み取りを同時に行う方法はありますか。
追記
現在は以下のコードを用いて輝度値を読み取っています。
vidObj=VideoReader(動画名);
for u=startIndex:1:endIndex
I=read(vidObj,u);
I_cropped=I(指定した座標,:);
temp(:,:,:,:)=I_cropped;
end

採用された回答

Takashi Ueno
Takashi Ueno 2019 年 11 月 7 日
顔検出であればこちら、トラッキングも含むのであればこちらが参考にしていただけるかもしれません。
いずれにしましても、検出、あるいはトラッキングで得られた顔のバウンディングボックスの情報を用いて輝度値にアクセスすればよいかと思います。
  2 件のコメント
Karen
Karen 2019 年 11 月 7 日
回答ありがとうございます。動画を顔追跡することはできるのですが、バウンディングボックスを時間軸で得る方法、またその得られたバウンディングボックスを使って輝度値にアクセスする方法が分からないため、詳しく教えて頂きたいです。よろしくお願い致します。
Kenta
Kenta 2019 年 11 月 9 日
vidObj=VideoReader('動画名');
f = 1;
for u=startIndex:1:endIndex
I=read(vidObj,u);
%以下を追加
%顔を追跡して得たバウンディングボックスの座標
I_cropped=I('指定した座標',:);
%輝度の取得、例えば平均
int(f)=mean(I_cropped,'all');
f=f+1;
end
顔追跡ができているなら、そのバウンディングボックスの座標をもとに画像を切り取り、
その輝度の情報を例えば上のように読み取っていけば大丈夫と思いますが、いかがでしょうか。
顔追跡の結果からバウンディングボックスの取り出しがわからないようでしたら、
コードとデータを添付いただけると良いと思います。

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!