martes, 17 de abril de 2018

Webcam con OpenCV y Qt. (Obteniendo frames)


Introducción

Buenas noches, Días o tardes. No importa la hora que estés viendo este post, hoy el tema es el abrir la webcam de nuestra pc y capturar el video. ¡Ojo! No vamos a guardar el video únicamente vamos a visualizar los frames de nuestra webcam. Sin más que agregar vamos a la implementación.    

Implementación

Como cualquier proyecto que vamos a realizar en Qt utilizando OpenCV será necesario configurar el archivo *.pro. En este caso se llama cámara.pro, tal como hicimos en la anterior publicación (Abrir una imagen con Qt y OpenCV), las referencias de nuestras librerías quedan de la siguiente forma:

INCLUDEPATH += C:\\opencv\\release\\install\\include
LIBS += -LC:\\opencv\\release\\install\\x64\\mingw\\lib \
    -lopencv_core2411 \
   -lopencv_highgui2411
Configuración de camara.pro


Las librerías que utilizamos son las siguientes:

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

Dentro de la función main, creamos un objeto VideoCapture nombrado cap(0). El 0 indica el índice de nuestra webcam, por defecto es 0 pero si tenemos más de una webcam debemos investigar el índice de la webcam que deseamos utilizar. Después debemos verificar si la webcam es accesible, para esto utilizamos cap.isOpened(), este método es booleano y regresa true si la webcam es accesible o false para el caso contrario. Posteriormente se crea un ciclo infinito para solicitar de forma constante los frames a la webcam. La única condición de detendrá el ciclo es la combinación de teclas Ctrl + C, Por eso se utiliza la función waitKey(100);  y la condición if (key == 27). Esto sería lo más importante en general del código. 

Codigo del proyecto camara


 Por último, quisiera comentar que no estoy explicando todo el código porque considero que es únicamente un post informativo, si desea convertirte un experto en OpenCV ve a la página principal (OpenCV) y revisa cada función y librería con la que está compuesto. Por otra parte, si tienes problemas con la lógica, pues a estudiar duro que no hay otro camino. Sin más que agregar, ¡Gracias por tu visita! Nos vemos en la siguiente publicación.


lunes, 16 de abril de 2018

Abrir una imagen con Qt y OpenCV


Introducción

El último post fue Instalación de OpenCV y QT desde Windows 10, bueno el primer post ajjajajaja, lo escribí como si llevara cien o mil publicados. Bueno, el punto es que falta publicar como hacer un proyecto con QT y OpenCV y esta publicación es para eso. La verdad no es nada complejo lo que se deseó proyectar en esta publicación, simplemente es para probar que está funcionando nuestra instalación.

Configuración

Primero debemos crear un proyecto en QT y lo que aremos es dar clic en New Projec, elegimos Qt console Application, Después agregamos el nombre de nuestro proyecto y elegimos una carpeta donde se guardara el proyecto. Posteriormente, se configura el archivo .pro. Incluimos la carpeta donde se encuentra las librerías de OpenCV.  

INCLUDEPATH += C:\\OpenCV\\release\\install\\include

Ahora vamos con las librerías que necesitamos

LIBS += -L C:\\OpenCV\\release\\install\\X86\\mingw\\lib\
                lopencv_core320\
                lopencv_highgui320\
                lopencv_imgproc320\
                lopencv_imgcode320\

Imagen 1. Archivo ejemplo.pro

Hasta este momento ya terminamos con nuestro archivo *.pro, que en nuestro caso se llama: ejemplo.pro. Ahora vamos con la codificación de nuestro proyecto y quisiera empezar con las librerías que necesitamos incluir:

#include <opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>

Dentro  del la función main vamos a incluir las siguientes intrucciones:

Mat img = imread(“1.png”,1);
namedWindow(“Ejemplo”);
imshow(“Ejemplo”,img);
waitKey(10000);

Imagen 2. Codigo del proyecto


De forma general este código leerá la imagen (1.png) y la asigna a la matriz llamada img, después, creara una ventana llamada Ejemplo y esta será mostrada con la imagen que fue leída y para concluir se agrega un tiempo de espera. Esto sería todo.

Conclusión

Este post simplemente fue para probar nuestra instalación previa y verificar que toda va bien, La ejecución de este proyecto se puede observar en la imagen #3 , dejo el video de la cración del projecto.

Imagen 3. Ejecución de proyecto


Realmente no sé cuántas publicaciones de OpenCV y Qt voy a subir jajajaj, no quiero casar este blog con solo un tema. Gracias por sus visitas y nos vemos en el próximo post.



jueves, 12 de abril de 2018

Instalación de OpenCV y QT desde Windows 10


Introducción

OpenCV es una librería de código libre enfocada a la visión por computadora o visión artificial, esta nos permite Vutilizar sus herramientas desde C++, Python y java. Entre sus ventajas está la ejecución en diferentes sistemas operativos por ejemplo: Windows, Linux Mac OS, y Android. Algunos de los proyectos en los que OpenCV puede ser implementado son: Reconocimiento de objetos, Clasificación de imágenes, Seguimientos de objetos, entre otros.

Por otra parte, Qt es un framework multiplataforma que nos permite desarrollar aplicaciones en entornos gráficos de forma rápida y sencilla. Principalmente uno puede programar en C o C++ pero también se puede configurar para desarrollar en Python. Para poder unir OpenCV con Qt es necesario utilizar la herrmaines CMake, esta nos permitirá construir y empaquetar la unión de OpenCV y Qt.


Instalación

Primero debemos empezar instalando Qt, este es un proceso simple el cual solo requiere dar siguiente -> omitir -> siguiente-> siguiente ->siguiente -> (seleccionar que se ha leído las condiciones) y dar siguiente -> siguiente ->instalar, después saldrá una ventana emergente diciendo que si desea que Qt realice cambios en tu dispositivo. Ponemos que si, para concluir presionamos terminar.

Después Instalamos OpenCV, Primero debemos crear una carpeta en C:/ con el nombre “opencv”, enseguida ejecutamos el instalador de OpenCV y extraemos los archivos en la carpeta que creamos (opencv) y por ultimo esperamos que termine de instalar.


Ya casi terminamos con la instalación de todas las herramientas, únicamente nos faltan instalar Cmake. Para esto ejecutamos el instalador y saldrá una ventana con una leyenda que dice: Windows protegió su PC, vamos al link que dice: Más información, esto despliega un botón con la leyenda: ejecutar de todas formas, le damos clic y después damos clic en siguiente, aceptamos las condiciones y damos en siguiente, después seleccionamos la opción agregar Cmake en las variables del sistemas para todos los usuarios y presionamos siguiente, el penúltimo paso es dar clic en instalar y saldrá un ventana que dice: Quieres permitir que esta aplicación con un editor desconocido realice cambios en tu dispositivo, presionamos la opción que si y para terminar la instalación presionamos finalizar. 


Configuración

Para realizar la configuración es agregar las siguientes rutas a las variables del sistema, para esto presionamos la combinación de teclas Windows + Pausa, después damos clic en configuración avanzada del sistema seguido de variables de entorno. Dentro de la ventana de variables de entorno buscamos la variable Path y seleccionamos la opción editar. Aquí agregaremos las siguientes variables:

  •        C:\Qt\5.9\mingw53_32\bin
  •       C:\Qt\Tools\mingw530_32\bin
Configuración de las variables de entorno para QT

Y terminamos en dando clic en aceptar.


Ya casi terminamos no desesperes :D, Vamos a crear una carpeta llamada release dentro de la careta OpenCV, y después abriremos CMake, dentro de este presionamos el botón Browse Source…  y buscamos la ruta: C:/OpenCV/opencv/sources. Enseguida presionamos el botón Browse Build… y agregamos la ruta C:/OpenCV/reléase  y damos clic en configure, en esta parte saldrá una ventana que nos pide definir nuestros compiladores y nosotros seleccionamos la segunda opción (Spedfy native compilers). Configuramos los compiladores de la siguiente forma:

  • C → C:/Qt/Tools/mingw530_32/bin/
  • C++ → C:/Qt/Tools/mingw530_32/bin/g++

Selección de compiladores

Y presionamos finalizar. Cuando termine la configuración en el cuadro de texto search escribimos qt y en la parte de abajo seleccionamos WITH_QT, posteriormente escribimos install y seleccionamos INSTALL_C_EXAMPLES y presionamos el botón de Generate. Esto tardara unos minutos, al terminar la configuración cerramos Cmake.

Finalmente, abrimos una consola de forma administrador y navegamos hasta C:/OpenCV/reléase/ y escribimos lo siguiente: mingw32-make y damos enter, Cuando termine escribimos mingw32-make install y damos enter. Para concluir con todo agregamos la siguiente variable al sistema como lo hicimos cuando configuramos CMake: C:\OpenCV\release\install\x86\mingw\bin.


Ejecución del comando mingw32-make 



Ejecución del comando mingw32-make install


Conclusión

Si todo salió bien, ya podremos crear proyectos con Qt utilizando OpenCV.  De cualquier manera  dejo el video de la instalación de estas herramientas. Gracias por su visita.