5
nie mogę używać kamery jako urządzenia wejściowego do OpenCV 2.3.1 w Ubuntu 11.04, ten kod działa poprawnie na oknach:OpenCV nie może odnaleźć urządzenia wideo
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
// A Simple Camera Capture Framework
int main() {
CvCapture* capture = cvCaptureFromCAM(-1);
if(!capture) {
fprintf(stderr, "ERROR: capture is NULL \n");
getchar();
return -1;
}
// Create a window in which the captured images will be presented
cvNamedWindow("mywindow", CV_WINDOW_AUTOSIZE);
// Show the image captured from the camera in the window and repeat
while(1) {
// Get one frame
IplImage* frame = cvQueryFrame(capture);
if(!frame) {
fprintf(stderr, "ERROR: frame is null...\n");
getchar();
break;
}
cvShowImage("mywindow", frame);
// Do not release the frame!
//If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),
//remove higher bits using AND operator
if((cvWaitKey(10) & 255) == 27) break;
}
// Release the capture device housekeeping
cvReleaseCapture(&capture);
cvDestroyWindow("mywindow");
return 0;
}
Zwraca „ERROR: capture jest NULL”
Moja kamera internetowa to/dev/video0 – Maysam
Czy można przechwytywać ramki za pomocą innej aplikacji V4L (np. Camorama)? Tylko po to, aby upewnić się, że masz wszystkie wymagane wymagania, a kamera jest faktycznie obsługiwana. –
Tak, mogę, Camorama działa dobrze – Maysam