単純なMakefile、カメラでキャプチャして表示
ややこしいがMacbookでbootcampでWindowsXPを動かして、その上でVMWarePlayer無料版でUbuntu8.04動かして、カメラはLogitec QV-40でやってる。
http://d.hatena.ne.jp/grazier/20080907/1220773639 より
これでmake一発でimage.cppをコンパイルできる
SRC = image.cpp DST = image prefix=/usr INCPATH=$(prefix)/include LIBPATH=$(prefix)/lib OPT= -lcv -lcvaux -lcxcore -lhighgui CC=g++ -O CFLAGS= -I$(INCPATH)/opencv LDFLAGS=-L. -L$(LIBPATH) all: $(CC) $(SRC) -o $(DST) $(CFLAGS) $(LDFLAGS) $(OPT)
単純にカメラ画像をFormに表示し続けるだけ
qキーで終了できる
image.cpp
#include <stdio.h> #include <highgui.h> int main(int argc, char** argv) { CvCapture *capture; IplImage *frameImage; char windowNameCapture[] = "Capture"; capture = cvCreateCameraCapture(0); cvNamedWindow(windowNameCapture, CV_WINDOW_AUTOSIZE); while (1) { frameImage = cvQueryFrame(capture); cvShowImage(windowNameCapture, frameImage); if (cvWaitKey(33) == 'q') break; } cvReleaseCapture(&capture); cvDestroyWindow(windowNameCapture); return 0; }
の45ページをcvWaitKey(1)だと速すぎるのか画面が表示されないのでcvWait(33)として33ms待機して、約30FPSで表示するようにした
% make g++ -O image.cpp -o image -I/usr/include/opencv -L. -L/usr/lib -lcv -lcvaux -lcxcore -lhighgui % ./image