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