動機
参加している講習会の課題だったが、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ではまだまだ使い勝手はよくないのかな?