takataka/note/2011-05-02
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
**To: yuta Subject: OpenCVで動画を保存 [#n92dd3e4]
[[takataka/note/2011-04-25]]のつづき.
Microsoft LifeCam Studio を使ってキャプチャしながら動画を...
-MacBook Pro等の内蔵iSightで動作するか確認できたらこの辺...
--Re:640x480にしたところ、起動・保存ともに成功しました。...
自力でフレームレートを設定してもセットされなかったのは、...
---うまくいってよかったです.ところで,なぜ Get しただけ...
--Re:完全にコピペしただけで、特にいじっていないので、今か...
--&color(Blue){↓ですが,[cap_original]が 640x480のようだ...
--Re:
コピーしてプログラムを動かしてみましたが、以下のメッセー...
プログラム名はCameraRec.cppにしました。 by yuta(05/03更新)
>shannon:special_research2011 sje$ ./CameraRec
>[cap_original] width = 640, height = 480, fps = 0.000000
>[cap_set] width = 640, height = 480, fps = 0.000000
>Output #0, avi, to 'hoge.avi':
> Stream #0.0: Video: rawvideo, yuv420p, 640x480, q=2-...
>OpenCV Error: Assertion failed (src.depth() == dst.depth...
>terminate called after throwing an instance of 'cv::Exce...
> what(): /opt/local/var/macports/build/_opt_local_var_...
>
>Abort trap
>shannon:special_research2011 sje$
-VLCで再生してみると,フレームレートが合ってない気もする…
-無圧縮のためファイルサイズがとんでもないことになるので注...
--ffmpegを使って次のようにするとMPEG4でエンコード可能.[[...
$ ffmpeg -i hoge.avi -b 2000k fuga.avi
-i の後は入力ファイル名,-b の後は目標ビットレート(この...
#pre{{
#include <stdio.h>
#include <stdlib.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#define FN_DST "hoge.avi"
int main(int argc, char** argv)
{
CvCapture* cap= cvCreateCameraCapture(0);
if(cap == NULL){
fprintf(stderr, "camera not found\n");
exit(EXIT_FAILURE);
}
int width, height;
double fps;
// Microsoft LifeCam Studio の場合 1920 x 1080, fps は ...
width = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAM...
height = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRA...
fps = cvGetCaptureProperty(cap, CV_CAP_PROP_FPS);
printf("[cap_original] width = %d, height = %d, fps = %...
width, height, fps);
// キャプチャ画像サイズを変更
cvSetCaptureProperty(cap, CV_CAP_PROP_FRAME_WIDTH, (dou...
cvSetCaptureProperty(cap, CV_CAP_PROP_FRAME_HEIGHT, (do...
// フレームレートをセット(↓の出力をみると結局セットさ...
fps = 29.97;
width = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAM...
height = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRA...
fps = cvGetCaptureProperty(cap, CV_CAP_PROP_FPS);
printf("[cap_set] width = %d, height = %d, fps = %f\n",
width, height, fps);
// VideoWriter: FOURCCは IYUV or I420 ならok
fps = 29.97;
CvVideoWriter* vw = cvCreateVideoWriter(FN_DST,
CV_FOURCC('I', '4', '2', '0'), fps, cvSize(width, heigh...
cvNamedWindow(argv[0], CV_WINDOW_AUTOSIZE);
IplImage* frame;
IplImage* image = cvCreateImage(cvSize(width, height), ...
while(1){
frame = cvQueryFrame(cap);
cvShowImage(argv[0], frame);
cvCopy(frame, image);
cvWriteFrame(vw, image);
if('q' == cvWaitKey(33)) break;
}
cvReleaseVideoWriter(&vw);
cvReleaseCapture(&cap);
return 0;
}
}}
終了行:
**To: yuta Subject: OpenCVで動画を保存 [#n92dd3e4]
[[takataka/note/2011-04-25]]のつづき.
Microsoft LifeCam Studio を使ってキャプチャしながら動画を...
-MacBook Pro等の内蔵iSightで動作するか確認できたらこの辺...
--Re:640x480にしたところ、起動・保存ともに成功しました。...
自力でフレームレートを設定してもセットされなかったのは、...
---うまくいってよかったです.ところで,なぜ Get しただけ...
--Re:完全にコピペしただけで、特にいじっていないので、今か...
--&color(Blue){↓ですが,[cap_original]が 640x480のようだ...
--Re:
コピーしてプログラムを動かしてみましたが、以下のメッセー...
プログラム名はCameraRec.cppにしました。 by yuta(05/03更新)
>shannon:special_research2011 sje$ ./CameraRec
>[cap_original] width = 640, height = 480, fps = 0.000000
>[cap_set] width = 640, height = 480, fps = 0.000000
>Output #0, avi, to 'hoge.avi':
> Stream #0.0: Video: rawvideo, yuv420p, 640x480, q=2-...
>OpenCV Error: Assertion failed (src.depth() == dst.depth...
>terminate called after throwing an instance of 'cv::Exce...
> what(): /opt/local/var/macports/build/_opt_local_var_...
>
>Abort trap
>shannon:special_research2011 sje$
-VLCで再生してみると,フレームレートが合ってない気もする…
-無圧縮のためファイルサイズがとんでもないことになるので注...
--ffmpegを使って次のようにするとMPEG4でエンコード可能.[[...
$ ffmpeg -i hoge.avi -b 2000k fuga.avi
-i の後は入力ファイル名,-b の後は目標ビットレート(この...
#pre{{
#include <stdio.h>
#include <stdlib.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#define FN_DST "hoge.avi"
int main(int argc, char** argv)
{
CvCapture* cap= cvCreateCameraCapture(0);
if(cap == NULL){
fprintf(stderr, "camera not found\n");
exit(EXIT_FAILURE);
}
int width, height;
double fps;
// Microsoft LifeCam Studio の場合 1920 x 1080, fps は ...
width = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAM...
height = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRA...
fps = cvGetCaptureProperty(cap, CV_CAP_PROP_FPS);
printf("[cap_original] width = %d, height = %d, fps = %...
width, height, fps);
// キャプチャ画像サイズを変更
cvSetCaptureProperty(cap, CV_CAP_PROP_FRAME_WIDTH, (dou...
cvSetCaptureProperty(cap, CV_CAP_PROP_FRAME_HEIGHT, (do...
// フレームレートをセット(↓の出力をみると結局セットさ...
fps = 29.97;
width = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAM...
height = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRA...
fps = cvGetCaptureProperty(cap, CV_CAP_PROP_FPS);
printf("[cap_set] width = %d, height = %d, fps = %f\n",
width, height, fps);
// VideoWriter: FOURCCは IYUV or I420 ならok
fps = 29.97;
CvVideoWriter* vw = cvCreateVideoWriter(FN_DST,
CV_FOURCC('I', '4', '2', '0'), fps, cvSize(width, heigh...
cvNamedWindow(argv[0], CV_WINDOW_AUTOSIZE);
IplImage* frame;
IplImage* image = cvCreateImage(cvSize(width, height), ...
while(1){
frame = cvQueryFrame(cap);
cvShowImage(argv[0], frame);
cvCopy(frame, image);
cvWriteFrame(vw, image);
if('q' == cvWaitKey(33)) break;
}
cvReleaseVideoWriter(&vw);
cvReleaseCapture(&cap);
return 0;
}
}}
ページ名: