Just My Life & My Work

[OpenCV] 使用 Webcam

現在筆記型電腦都配有webcam,只要啟動特定軟體即可使用webcam來進行視訊聊天,那如果想用程式來擷取webcam的影像,就可以使用OpenCV提供的API,接著進一步做處理和應用。

本程式碼需要先安裝OpenCV到Dev C++,可以參考我寫的這篇:Dev-C++4.9.9.2 安裝 OpenCV 2.0

剛好這時候同學需要用到,我翻出半年前取得的程式碼,放在這邊以供需要的人使用。

/**
	Theme: Webcam
	Compiler: Dev C++ 4.9.9.2
	Date: 100/10/22
	Author: HappyMan
	Blog: https://cg2010studio.wordpress.com/
*/
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

void onMouse(int event, int x, int y, int flags, void* param);

int main(int argc, char** argv){
     CvCapture *capture;
     IplImage *frame;

     capture = cvCaptureFromCAM(0) ;
     cvNamedWindow("Webcam",0);
     cvSetMouseCallback("Webcam",onMouse,NULL);
     while(true){
         frame = cvQueryFrame(capture);

         cvShowImage("Webcam",frame);

         if(cvWaitKey(1)>=0){
            break;
         }
     }
     cvReleaseCapture(&capture);
     cvDestroyWindow("Webcam");

     return 0;
}
void onMouse(int Event, int x, int y, int flags, void* param){
     printf("( %d, %d) ",x,y);
     printf("The Event is : %d ",Event);
     printf("The flags is : %d ",flags);
     printf("The param is : %d\n",param);
}

程式執行後立刻可見影像,這是我寢室的場景。

參考:Webcam – Using OpenCV And SDL

Comments on: "[OpenCV] 使用 Webcam" (12)

  1. 鄭家傑 的大頭貼

    版大你好,請問如何利用opencv找到web cam讀到影像的資料流(stream)?

  2. hyhuang0331 的大頭貼

    你好,感謝你分享了那麼多有用的知識,OpenCv新手~有個問題想請教,我想在Dev-C++4.9.9.2 的開發環境下想要把WebCam的視頻存取成圖檔再做影像處理,是使用什麼指令cvSavcImage嗎~可以的話麻煩能否有個小範例!! THX~

  3. robotcnc 的大頭貼

    對了,要先下載OpenCV_1.0.exe,其它版本就無法使用了。
    還有一篇 DEV-C++ 環境安裝 OpenCV http://blog.yam.com/dainn/article/19762446
    請看他如何安裝,後再執行版大程式,然後出現上述缺少的三項檔案。

    • HappyMan 的大頭貼

      看來你安裝的是OpenCV 1.0,現在最新版的OpenCV 2.3,若你以後還會繼續使用OpenCV開發,建議你可以安裝比較新的版本喔!我文章前頭已經增加了Dev-C++4.9.9.2 安裝 OpenCV 2.0的連結,可以參考!

  4. robotcnc 的大頭貼

    謝謝版大的文章,小弟解決了,感謝版大的教學。謝謝。

  5. robotcnc 的大頭貼

    版大您好,照您的程式編譯後,出現下列訊息,

    cannot find -lcvcam
    ld returned 1 exit status

    請問要如何處理呢?是否那裏出了問題,謝謝。

回覆給hyhuang0331 取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲