OpenCV не распознает веб-камеру, но mplayer успешно - PullRequest
0 голосов
/ 15 октября 2018

В качестве первого шага в более крупном проекте я пытался отобразить изображение с моей веб-камеры с помощью OpenCV:

#include <stdlib.h>                                                         
#include <opencv2/core/core.hpp>                                            
#include <opencv2/highgui/highgui.hpp>                                      

int                                                                         
main()                                                                      
{                                                                           
  cv::VideoCapture cap(-1);                                                 
  if (!cap.isOpened())                                                   
    exit(EXIT_FAILURE);                                                                                                                             
  cv::Mat frame;                                                            
  bool done = false;                                                        
  while (!done) {                                                           
    cap >> frame;                                                           
    cv::imshow("webcam", frame);                                            
    done = (cv::waitKey(30) >= 0);                                          
  }                                                                         
  return EXIT_SUCCESS;                                                      
}                                                                           

. Возвращает код ошибки (!cap.isOpened() пропусков, подтвержденных с помощью gdb).Изначально у меня было 0 вместо -1.При поиске этого сайта было предложено -1, но безрезультатно.Я также пробовал от 1 до 3, как предложил другой пользователь.

Я могу отобразить свою веб-камеру с помощью mplayer, точнее mplayer tv:// -tv driver=v4l2.

1 Ответ

0 голосов
/ 15 октября 2018

v4l2 - это драйвер "video for linux".Я заметил, что OpenCV можно установить с таким драйвером, скомпилировав его с -DWITH_V4L и -DWITH_LIBV4L (флаг v4l USE в Gentoo).Перекомпилировав OpenCV с ним, он успешно распознал веб-камеру.Поддержка GTK необходима для отображения изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...