include <cv.h>
include <highgui.h>
include <ctype.h>
include <stdio.h>
int
main (int argc, char **argv)
{
CvCapture *capture = 0;
IplImage *frame = 0;
IplImage *mono = 0;
IplImage *dst_img = 0; 追加
double w = 320, h = 240;
int c;
// (1)コマンド引数によって指定された番号のカメラに対するキャプチャ構造体を作成する
if (argc == 1 || (argc == 2 && strlen (argv[1]) == 1 && isdigit (argv[1][0])))
capture = cvCreateCameraCapture (argc == 2 ? argv[1][0] - '0' : 0);
/* この設定は,利用するカメラに依存する */
// (2)キャプチャサイズを設定する.
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, w);
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, h);
cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE);
cvNamedWindow ("mono", CV_WINDOW_AUTOSIZE);
cvNamedWindow ("dst", CV_WINDOW_AUTOSIZE); 追加
// (3)カメラから画像をキャプチャする
while (1) {
frame = cvQueryFrame (capture);
cvShowImage ("Capture", frame);
c = cvWaitKey (2);
if (c == '\x1b')
break;
mono = cvCreateImage(cvGetSize(frame),IPL_DEPTH_8U,1);
cvCvtColor(frame,mono,CV_BGR2GRAY);
dst_img = cvCloneImage (mono); 追加
cvFlip (mono, dst_img, 0); 追加 0で上下反転、1で左右反転、-1で上下左右反転
cvShowImage("mono",mono); 追加
cvShowImage("dst",dst_img); 追加
}
cvDestroyWindow("dst"); 追加
cvReleaseImage (&dst_img); 追加
cvDestroyWindow("mono");
cvReleaseImage(&frame);
cvReleaseCapture (&capture);
cvDestroyWindow ("Capture");
return 0;
}
- 逃げちゃだめだ! -- (碇くん) 2009-07-30 10:02:25
最終更新:2009年07月30日 10:21