[お役立ち]Psychopyで表情撮影
@ なんばいきん · Friday, Jun 3, 2022 · 2 minute read · Update at Jun 3, 2022

自分用に実験課題中の表情反応を撮影するためだけの記事を書くぞ!
ここでは映像を見てる時の表情反応を撮影するやつを書くぞ!

PsychopyのBuilderでまずMovieを提示するプログラムをひょひょい~と作る。
「あとは表情撮影するやつ挟むだけ」っていうのができたら、「実験をコンパイルしてPythonスクリプトを作成します」ボタンをクリックしてあっというまに実験用Pythonスクリプトができる。

コード撮影に関する情報をガンガン書き込む

最初の部分で、CV2を読み込む。

import cv2


撮影を行うためのRoutine(# —–Prepare to start Routine “hogehoge” ——あたり)で以下のようにcv2でmp4を撮影するためのコードをかきかきする。
※ここのStimはLoop指定の刺激名をとってきてるだけ。

writer = cv2.VideoWriter(_thisDir + os.sep + u'data/%s_%s_%s' % (expInfo['participant'], Stim[6:9], '.mp4'),
        cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), 30, (640,480))
capture = cv2.VideoCapture(0)


実験中断用に# check for quitのところでCaptureを解放させておく。

capture.release()


ほんで # refresh the screen の箇所 (win.flip()) でひたすら以下のIf文をぶん回す。

    if continueRoutine:  # don't flip if this routine is over or we'll get a blank screen
        retval, image = capture.read()
        if retval:
            reversed = image[:,::-1,:] # 左右反転
            writer.write(reversed) # 動画として書き出し
            win.flip()


最後に # ——-Ending Routine “Stim”——-のmovie.stop()の直前でcapture.release()をぶち込む。


多分これでおk。ただ上のやり方だとばちくそ遅延が生じてうまくできないので最適なやり方ではない。よりイイ感じのやり方募集中。


なんばいきん's blog
表情の研究してます。左上のアイコンで夜モードにできるけどそしたらRコードが全部見えなくなるクソみたいなブログ。それがここ。

docker r お役立ち 出張 旅行 日記 研究 読書感想文 雑談 音楽
r

© 2020 - 2022 とある心理学系研究者のブログ

Powered by Hugo with theme Dream.

Social Links