2015-11-14 2 views
-1

using windows am пытается открыть мою веб-камеру, используя cvCreateCameraCapture (0); или cvCaptureFromCAM (0), но он просто открывает окно Video Source с моей камерой в нем, когда я нажимаю ok, ничего не происходит, он возвращает null, а иногда я получаю черный экран , хотя камера работает при использовании C++ API VideoCapture, но мне нужно использовать C API установлен quicktime и пробовал -1,1,2, ...... 1000 вместо 0 любой помощи: D?Камера OpenCV 3.0 недоступна cvCreateCameraCapture

#include "opencv2\highgui.hpp" 
#include <iostream> 
using namespace std; 
using namespace cv; 
//cvCapture 
int main() 
{ 
    IplImage * s; 
    namedWindow("l"); 
    CvCapture* v = cvCreateCameraCapture(0); 
    while (1) 
    { 
    if(s = cvQueryFrame(v)) 
    { 
     cvShowImage("l", s); 
     cout << "in"; 
    } 
     if (char c = waitKey(10) == 27) break; 
    } 
    cvReleaseCapture(&v); 
    cvDestroyWindow("l"); 
    return 2; 
} 

Here's what i get , когда я нажимаю ОК ничего не происходит, он остается серое окно , если я заменить этот он работает, но мне нужно работать с C API (cvCreateCameraCapture)

int main() 
{ 
    VideoCapture v(0); 
    namedWindow("l"); 
    if (!v.isOpened())return 2; 
    while (1) 
    { 
     Mat f; 
     v.read(f); 
     imshow("l", f); 
     if (char c = waitKey(10) == 27) break; 
    } 
    cvDestroyWindow("l"); 
} 
+0

Можете ли вы разместить [mcve]? – Miki

+0

это хорошо или более подробно? –

+0

Какова ваша версия OpenCV? – sturkmen

ответ

1

он является known issue

Я лично решил проблему, объединив deleted part и построил dlls.

cap.cpp здесь и cap_dshow.cpp

, если восстановить OpenCV 3.0 dll'd с помощью этих файлов вы будете решить вашу проблему. в противном случае вы можете открыть проблему here, описывающую вашу проблему, и ждать решения от разработчиков или использовать OpenCV 2.4.12.

1

Использование IplImage и Cvfunctions давно ушло в Opencv. Вы можете попробовать использовать более старые версии opencv для их использования.