2015-09-08 116 views
-1

我正在做一個自動織物瑕疵檢測的項目。在此我開發了使用[FFT] [1](快速傅立葉變換)的算法,並在我的Ubuntu 14.04 opencv c++中正常工作。但是現在我想要將其發展到實時,我必須每2秒捕獲一次圖像,並且必須使用我開發的算法處理該圖像。我需要關於如何在opencv c++中使用網絡攝像頭捕獲圖像的想法,以及如何處理正在捕獲的相同圖像。如果有人知道這一點,請幫助我。先謝謝你。在Opencv C++中實時比較兩幅圖像與預定義圖像的實時捕捉圖像

+0

你可能想看一看:http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html特別是,看看在VideoCapture類。我還建議提高你的問題的一點,使其更具可讀性,明確你真正想要的和對你來說重要的東西。 –

回答

0

您可以按照OpenCV給出的指導 - 他們提供了足夠的examples,例如下面的示例代碼。以下代碼由OpenCV Dev團隊提供。

#include "opencv2/opencv.hpp" 

using namespace cv; 

int main(int, char**) 
{ 
    VideoCapture cap(0); // open the default camera 
    if(!cap.isOpened()) // check if we succeeded 
     return -1; 
    Mat edges; 
    namedWindow("edges",1); 
    for(;;) 
    { 
     Mat frame; 
     cap >> frame; // get a new frame from camera 
     cvtColor(frame, edges, CV_BGR2GRAY); 
     GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); 
     Canny(edges, edges, 0, 30, 3); 
     imshow("edges", edges); 
     if(waitKey(30) >= 0) break; 
    } 
    // the camera will be deinitialized automatically in VideoCapture  destructor 
    return 0; 
} 
+0

謝謝你的幫助,因爲它工作正常,但我確實有一個問題,我寫了一個代碼,每隔30ms捕獲一次圖像並保存。但我無法在窗口中打開該圖像。它在一個while循環中運行。 –