Nota 1: este código debería funcionar en la mayoría de las cámaras. Si llegáis a probar este código escribid un comentario si os funciona, en la mía sólo funciona durante un tiempo determinado. Gracias.
Nota 2: es posible que tengáis que instalar el paquete ‘libusb’ con: sudo apt-get install libusb-1.0-0-dev.
Cuando uno está trabajando con Visión Artificial resulta indispensable tomar imágenes desde una cámara. Con OpenCV puedes codificar una aplicación sencilla para tal efecto. Para ello necesitas tener instalada la librería OpenCV, y saber compilar dicho programa.
Aquí está el código para capturar imágenes desde una cámara:
#include #include #include #include #include cv::VideoCapture TheVideoCapturer; cv::Mat bgrMap; int main(int argc, char *argv[]) { char key = 0; int numSnapshot = 0; std::string snapshotFilename = "0"; std::cout << "Press 's' to take snapshots" << std::endl; std::cout << "Press 'Esc' to exit" << std::endl; TheVideoCapturer.open(0); if (!TheVideoCapturer.isOpened()) { std::cerr<<"Could not open video"<(&(std::ostringstream() << numSnapshot))->str(); } key=cv::waitKey(20); } }
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Va de miedo ! Muy sencillo y efectivo. Espero ver más ejemplos de openCV, que es una asignatura pendiente :)
Un saludo,
Se genera un error donde me dice Could not open video
Estoy trabajando en Ubuntu 12.. ¿Que podría ser?
Funciona bien! muchas gracias por compartirlo.
Una consulta, como podría mandar a imprimir la imagen capturada dentro del mismo opencv? es posible?
Saludos!