В качестве первого шага в более крупном проекте я пытался отобразить изображение с моей веб-камеры с помощью 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
.