2010年2月28日 星期日

HW01: Capture video from WebCam






心得:
第一次使用這個東西覺得很新鮮,只是一開始使用DEV-C++找不到編譯在哪裡,真是嚇死我也!想說是不是自己下載的東西出了什麼問題咧!然後...照片怎麼照都很瞎。


這是剛剛找到的東西


cvNamedWindow 創建視窗 int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE ); name 視窗的名字,它被用來區分不同的視窗,並被顯示為視窗標題。

flags 視窗屬性標誌,為1時表示會根據圖像自動調整視窗大小。目前唯一支持的標誌是CV_WINDOW_AUTOSIZE。當這個標誌被設置後,用戶不能手動改變視窗大小,視窗大小會自動調整以適合被顯示圖像。


參考網址 http://yester-place.blogspot.com/2008/06/gui.html





int main()
{
CvCapture *capture;
IplImage *frame;

capture=cvCreateCameraCapture(0);
cvNamedWindow("Webcam",0);
cvNamedWindow("Webcam1",0);
cvNamedWindow("Webcam2",0);
cvNamedWindow("Webcam3",0);
cvNamedWindow("Webcam4",0);
while(1)
{
frame = cvQueryFrame(capture);
cvShowImage("Webcam", frame);
cvShowImage("Webcam1", frame);
cvShowImage("Webcam2", frame);
cvShowImage("Webcam3", frame);
cvShowImage("Webcam4", frame);
cvWaitKey(10);
}

cvReleaseCapture(&capture);
cvDestroyWindow("Webcam");
}

開五個也沒有問題呢....
隔壁同學開10個...也沒有問題呢...

下次再來玩玩看加一堆特效XDDD

--------------------------------------------------------------------------
這是後來玩的,
因為先開了一堆視窗,
然後發現鏡面特效
哈哈哈
int main()
{
CvCapture *capture;
IplImage *frame;

capture=cvCreateCameraCapture(0);
cvNamedWindow("Webcam",1);
cvNamedWindow("Webcam1",1);
cvNamedWindow("Webcam2",1);
cvNamedWindow("Webcam3",1);
while(1)
{
frame = cvQueryFrame(capture);
cvShowImage("Webcam", frame);
cvFlip( frame, frame, 0 );
cvShowImage("Webcam1", frame);
cvFlip( frame, frame, 1 );
cvShowImage("Webcam2", frame);
cvFlip( frame, frame, 0 );
cvShowImage("Webcam3", frame);
cvWaitKey(10);
}
cvReleaseCapture(&capture);
cvDestroyWindow("Webcam");
}

cvFlip( frame, frame, 1 ); <===1是上下相反 0是左右相反

沒有留言:

張貼留言