2013-10-14 2 views
-1

Я использую консольный Linux, и у меня есть приложение для захвата камеры. Мне нужно захватить изображение без GUI (камера должна начать и захватить некоторые изображения, сохранить их на диск и закрыть). Следующий код хорошо работает на моем ноутбуке, но не запускается на консоли. Какие-либо предложения?Захват изображения с OpenCV без GUI (на консольном Linux)

#include "cv.h" 
#include "highgui.h" 

using namespace cv; 

int main(int, char**) 
{ 
    VideoCapture cap(0); // open the default camera 


Mat frame; 
    namedWindow("feed",1); 
    for(;;) 
{ 
    Mat frame; 
    cap >> frame; // get a new frame from camera 
    imshow("feed", frame); 
    imwrite("/home/zaif/output.png", frame);  
if(waitKey(1) >= 0) break; 
} 
    return 0; 
} 
+1

«не работает» является самым хромым описанием проблемы когда-либо. теперь что происходит не так? – berak

+0

Я имею в виду, если я запустил это на своей консоли, он не захватывает никаких изображений, или канал не работает, но работает на моем ноутбуке. Мне нужно внести изменения, чтобы он начинал-> захватывать изображение-> закрыть. – ItsZaif

+2

ничего плохого в коде, я бы сказал. 2.4.6 возникла проблема с видеозахватом и gcc, поэтому существует 2.4.6.1 – berak

ответ

2

После выпуска OpenCV 2.4.6 было bug fixes for video capture on Linux. Идите прямо к 2.4.6.2, и вы должны получить исправления. В частности, this revision, вероятно, является релевантным исправлением для вас, хотя было несколько других изменений, связанных с захватом видео на Android, что также могло бы повлиять на сборку Linux.

Смежные вопросы