我正在嘗試使用Opencv從網絡攝像頭捕捉視頻。麻煩安裝OpenCV?
我有以下代碼
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <cstdio>
#include <iostream>
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
using namespace cv;
using namespace std;
int main()
{
VideoCapture cap;
}
這會導致程序一個錯誤
過程與狀態-1073741510終止(0分鐘,34秒)
終止我想知道如果我沒有在代碼塊上正確安裝opencv
注意,當我使用這個程序來代替,一切正常
CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);
if (!capture)
{
fprintf(stderr, "ERROR: capture is NULL \n");
getchar();
return -1;
}
IplImage* frame = cvQueryFrame(capture);
cvNamedWindow("mywindow", CV_WINDOW_AUTOSIZE);
while (1)
{
frame = cvQueryFrame(capture);
if (!frame)
{
fprintf(stderr, "ERROR: frame is null...\n");
getchar();
break;
}
cvShowImage("mywindow", frame);
if ((cvWaitKey(10) & 255) == 27)
break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("mywindow");
return 0;
編輯
改變頭來HPP文件也產生了同樣的問題
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <cstdio>
#include <iostream>
#include <stdio.h>
using namespace cv;
using namespace std;
int main()
{
VideoCapture cap;
cap.open(1);
return 0;
}
我會注意到,intelisense的代碼塊似乎知道VideoCapture。編譯工作正常,問題是當我運行該程序。 – sav
嘗試將零器件編號或負器件編號作爲捕獲構造器參數。 另外,您希望從第一版的代碼中獲得什麼? 你沒有從主函數返回任何東西。捕獲已創建,然後程序已達到結束。 – morynicz
不幸的是,添加返回值並沒有解決主要問題。此外,我有一個攝像頭插入,所以設備號碼指的是我的攝像頭。 – sav