OpenCV не распознает камеру в BeagleBone

Я написал следующий код для использования камеры, PlayStation Eye, с помощью BeagleBone:

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <termios.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include "opencv/cv.h"#include "opencv/highgui.h"
using namespace cv;
using namespace std;

void inputSetup(int setup);

int main(int argc, char *argv[])
{
CvCapture *capture;
Mat img;

capture = cvCaptureFromCAM(-1);
if (capture){
printf("mmm...\n");
inputSetup(1);
img = cvQueryFrame(capture);
}

while (1);

return 0;
}

void inputSetup(int setup)
{
static struct termios oldt, newt;
if (setup) {
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON);
tcsetattr( STDIN_FILENO, TCSANOW, &newt);
}
else {
tcsetattr( STDIN_FILENO, TCSANOW, &oldt);
}
}

Проблема в том, что он не распознает камеру, поскольку код не входит в первое «если» (то, которое печатает «ммм …»). Я уже пробовал с «capture = cvCaptureFromCAM (0);», но он также не работает.

Я компилирую код с помощью следующей команды:

g++ -Wall -g -o CamaraTest CamaraTest.cpp `pkg-config --cflags --libs opencv`

Как мне исправить эту проблему?

0

Решение

Используйте последнюю версию OpenCV Гит репозиторий. Были проблемы с драйверами камеры, но большинство из них уже исправлено.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector