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

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

Accepted Answer

Takashi Ueno
Takashi Ueno on 7 Nov 2019
顔検出であればこちら、トラッキングも含むのであればこちらが参考にしていただけるかもしれません。
いずれにしましても、検出、あるいはトラッキングで得られた顔のバウンディングボックスの情報を用いて輝度値にアクセスすればよいかと思います。
  2 Comments
Karen
Karen on 7 Nov 2019
回答ありがとうございます。動画を顔追跡することはできるのですが、バウンディングボックスを時間軸で得る方法、またその得られたバウンディングボックスを使って輝度値にアクセスする方法が分からないため、詳しく教えて頂きたいです。よろしくお願い致します。
Kenta
Kenta on 9 Nov 2019
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
顔追跡ができているなら、そのバウンディングボックスの座標をもとに画像を切り取り、
その輝度の情報を例えば上のように読み取っていけば大丈夫と思いますが、いかがでしょうか。
顔追跡の結果からバウンディングボックスの取り出しがわからないようでしたら、
コードとデータを添付いただけると良いと思います。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!