C++ 在Opencv c+中,将两幅图像与预定义图像和实时捕获图像进行实时比较+;

C++ 在Opencv c+中,将两幅图像与预定义图像和实时捕获图像进行实时比较+;,c++,opencv,C++,Opencv,我正在做一个织物疵点自动检测的项目。在这篇文章中,我使用[FFT][1](快速傅立叶变换)开发了算法,并在我的Ubuntu 14.04opencv c++中运行良好。但现在我想把它开发成实时的,我必须每2秒捕获一次图像,并用我开发的算法处理图像。我需要了解如何在opencvc++中使用网络摄像头捕获图像,以及如何处理正在捕获的同一图像。如果有人知道这件事,请帮助我。提前感谢。您可以按照OpenCV提供的指导进行操作-他们已经提供了足够的示例代码。以下代码由OpenCV开发团队作为示例提供 #in

我正在做一个织物疵点自动检测的项目。在这篇文章中,我使用[FFT][1](快速傅立叶变换)开发了算法,并在我的Ubuntu 14.04
opencv c++
中运行良好。但现在我想把它开发成实时的,我必须每2秒捕获一次图像,并用我开发的算法处理图像。我需要了解如何在
opencvc++
中使用网络摄像头捕获图像,以及如何处理正在捕获的同一图像。如果有人知道这件事,请帮助我。提前感谢。

您可以按照OpenCV提供的指导进行操作-他们已经提供了足够的示例代码。以下代码由OpenCV开发团队作为示例提供

#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;
}

您可能想看一看:尤其是VideoCapture类。我还建议通过提高你的问题的可读性,明确你真正想要什么以及什么对你来说是重要的来改进你的问题。感谢你的帮助,因为它工作正常,但我确实有一个问题,我已经编写了一个代码,每30毫秒捕获一次图像并保存一次。但我无法在窗口中打开该图像。它运行在一个while循环中。