YAMAGUCHI::weblog

噛み付き地蔵に憧れて、この神の世界にやってきました。マドンナみたいな男の子、コッペです。

iSightを使って録画する

動機

参加している講習会の課題だったが、Macな自分だけ問題が発生したためメモっておく。

方法

だいたいの流れはこんな感じになる。

#define OUT_VIDEO_FILE "output_video.avi"
capture = cvCaptureFromCAM(0);
CvVideoWriter* video = cvCreateVideoWriter(OUT_VIDEO_FILE, -1, 30, cvSize(640, 480), 1);
while(1) {
    if (capture) {
        frame = cvRetrieveFrame(capture);
        cvWriteFrame(video, frame);
    }
}

で、いきなりこれを実行すると落ちます。

OpenCV ERROR: Internal error (Cannot create data reference from file name)
in function cvCreateVideoWriter, cvcap_qt.cpp(1192)
Terminating the application...
called from cvUnregisterType, cxpersistence.cpp(4933)
Terminating the application...

Macでやる場合はあらかじめファイルを作っておいてあげないといけません。

# touch OUT_VIDEO_FILE_NAME

まとめ

Intelが配布しているだけあって、OpenCVはMacではまだまだ使い勝手はよくないのかな?