Ejemplo 1 en OpenCV: Mostrar Cámara.

OpenCV en Ubuntu

En el siguiente Tutorial, realizaremos un ejemplo de como utilizar OpenCV en linux, programando, compilando y ejecutándolo desde la consola.

Si aún no sabes como instalar OpenCV en Ubuntu, visita el siguiente tutorial:

https://hetpro-store.com/TUTORIALES/opencv-2-4-9-instalacion-en-ubuntu/

PASO 1: Abrir terminal.

Como primer paso, abriremos la consola, la cuál la puedes abrir mediante el siguiente comando rápido: Ctrl + Alt + T, lo que inmediatamente nos muestra la siguiente ventana:

Ejemplo1
Terminal

 

 

PASO 2: Ir al directorio específico.

Procederemos a irnos a la ruta en la que queramos guardar el archivo, en mi caso, una Carpeta llamada EJEMPLOS dentro del escritorio. Para ello, iremos al escritorio primero mediante el siguiente comando:

[code language=»bash»]
$ cd Escritorio/
[/code]

Posteriormente, crearemos el directorio/carpeta mediante el comando mkdir:

[code language=»bash»]
$ mkdir EJEMPLOS
[/code]

Ahora, entraremos en el directorio:

[code language=»bash»]
$ cd EJEMPLOS
[/code]

OpenCV
Directorios

 



PASO 3: Crear Archivo fuente (.cpp)

Estando situados en la el directorio, procederemos a crear nuestro archivo .cpp (C Plus Plus), dicha extensión es propia de archivos fuente, el cual puedes abrir mediante cualquier editor de textos.

Para crearla, utilizaremos el editor de textos nano de nuestro S.O. Ubuntu, el cuál se manda a llamar mediante la siguiente línea de comandos:

[code language=»bash»]
$ sudo nano ejemplo1.cpp
[/code]

Dónde:
sudo = Ejecutar como usuario root (Superusuario)
nano = Llamamos Editor de texto.
ejemplo1 = nombre del archivo a crear, puedes utilizar el nombre que gustes.
.cpp = extensión del archivo a crear, en este caso, archivo fuente (.cpp)

 

OpenCV
Crear cpp

 

Estando en el editor, lo siguiente a hacer, es escribir o pegar el código, el cuál es el siguiente:

[code language=»bash»]
#include<opencv2/core/core.hpp>
#include<opencv2/ml/ml.hpp>
#include<opencv/cv.h>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(void)
{
VideoCapture cam(0);
Mat matriz_patito;
if(!cam.isOpened()) {return -1; }
for(;;)
{
cam >> matriz_patito;
imshow("Pasillo1",matriz_patito);
if(waitKey(30)>0)
break;
}
return 1;
}
[/code]

OpenCV
Código Fuente

Donde:

[code language=»bash»]
#include<opencv2/core/core.hpp>
#include<opencv2/ml/ml.hpp>
#include<opencv/cv.h>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <iostream>
[/code]

Librerías a utilizar, las del OpenCV y la de iostream para los diversos comandos.

[code language=»bash»]
using namespace cv;
using namespace std;
[/code]

Creación de objetos.

[code language=»bash»]

VideoCapture:

[/code]

Es una clase de opencv que permite abrir
una camara web.

Ejemplo:

[code language=»bash»]

VideoCapture nombre_objeto(#objeto);

[/code]

[code language=»bash»]
.isOpened():

[/code]

Es una función de la clase VideoCapture.
Esta función regresa 1(verdadero) si el usuario
tiene acceso a la cámara web. Regresa 0(falso)
si el usuario no tiene permiso o cámara esta ocupada.

[code language=»bash»]

imshow(param1,param2):

[/code]

Es una función de OpenCV que permite «crear»
una ventana en el entorno visual de linux.
Esta ventana puede contener matrices de OpenCV.
Tiene dos parámetros.
param1: Nombre de la ventana.
param2: Nombre de la matriz.

Ejemplo:

[code language=»bash»]

imshow("MiVEntana1", matriz_patito);

[/code]

[code language=»bash»]

waitKey():

[/code]

Es una función de OpenCV que «espera» un tiempo

en mili-segundos indicado por el parámetro dentro
del paréntesis, a que el usuario presiona la tecla
indicada.

Ejemplo:

[code language=»bash»]

if(waitKey(1000) == ‘j’) { //instrucciones}

[/code]

Para salir, puedes hacerlo oprimiendo Ctrl + X; el cual te pedirá si deseas guardar cambios, si tu S.O. está en español, oprime la tecla «S» para Guardar ó «N» para desechar, si está en inglés, oprime «Y» para guardar o «N» para desechar.
*NOTA* Si desechas el archivo, por ende, no se guardará nada.

 

PASO 4: (Compilación).

Una vez creado, lo siguiente que haremos será compilar el archivo, para compilarlo, usaremos la siguiente línea de comando:

[code language=»bash»]
g++ -Wall -o ejecutar1 ejemplo1.cpp `pkg-config –cflags –libs opencv`
[/code]

Tardará unos escasos 10 segundos en compilar, si nos realiza el salto de línea, quiere decir que la compilación fue hecha con éxito.

STEP_4
Compilar

 

 

PASO 5: Ejecutar

Una vez compilado el programa con éxito, lo ejecutaremos con la instrucción ./nombre_ejecutable, en nuestro caso, el siguiente:

[code language=»bash»]
./ejecutar1
[/code]

y listo, nos abrirá una ventana en cascada con la cámara que le ordenamos abrir.



2 comentarios en «Ejemplo 1 en OpenCV: Mostrar Cámara.»

  1. hola, quise hacer esto pero me aparece este incombeniente

    VIDIOC_QUERYMENU: Invalid argument
    VIDIOC_QUERYMENU: Invalid argument
    VIDIOC_QUERYMENU: Invalid argument
    VIDIOC_QUERYMENU: Invalid argument
    VIDIOC_QUERYMENU: Invalid argument
    VIDIOC_QUERYMENU: Invalid argument
    VIDIOC_QUERYMENU: Invalid argument
    select timeout

    (process:3699): Gtk-WARNING **: Locale not supported by C library.
    Using the fallback ‘C’ locale.

    (Pasillo1:3699): Gtk-WARNING **: cannot open display:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.