Descripción
La visión artificial es una disciplina científica formada por un conjunto de técnicas que
permiten la captura, el procesamiento y el análisis de imágenes, con el fin de extraer
información de utilidad. Su objetivo es automatizar tareas reservadas hasta hace poco
tiempo al ámbito humano en áreas como la seguridad, la industria, el comercio, la
medicina, etc.
Muchas de las técnicas empleadas en visión artificial proceden de otras disciplinas,
como la inteligencia artificial o el deep learning, que exigen amplios conocimientos
matemáticos. Por ese motivo, su expansión no se ha producido hasta la llegada de librerías
como OpenCV, que ocultan esta complejidad y las ponen al alcance de cualquiera que
disponga de unos conocimientos básicos de programación; en este caso, de Python.
En esta segunda edición aprenderá a usar la librería OpenCV de Python, con la que
podrá desarrollar aplicaciones de visión artificial, tanto para imágenes estáticas como
para vídeo. Todas las técnicas empleadas se exponen de forma clara y sencilla, sin entrar
en conceptos matemáticos complejos. Además, se trata de un libro práctico, por lo que
está repleto de ejercicios, cuyo código se explica línea a línea.
OpenCV es software libre, lo que significa que podrá usarlo sin restricciones. También
es multiplataforma, así que es posible ejecutarlo tanto en Windows como en MacOS o
Linux. Pero lo que realmente ha dado lugar a su enorme popularidad es la gran cantidad
de algoritmos que implementa, con los que podrá:
• Poner en práctica técnicas de reconocimiento facial, identificación de objetos o personas,
seguimiento de sus movimientos, etc.
• Crear aplicaciones de realidad aumentada, de inspección y vigilancia, orientadas a la
robótica o juegos.
En cuanto a Python, este es uno de los lenguajes de programación más extendidos
debido a su naturaleza multiplataforma, pero, sobre todo, por su sencillez y facilidad
de uso. Eso ha hecho que se utilice en infinidad de ámbitos, entre los que destaca el
de la visión artificial. Si no conoce este lenguaje, se proporciona un amplio anexo en el
que se enseñan sus principios básicos de funcionamiento y con el que podrá seguir las
prácticas propuestas de un modo fácil.
Sin lugar a dudas, este es el libro indicado para aprender a desarrollar con agilidad
sus propias aplicaciones de visión artificial. No espere más, hágase con su ejemplar y
exprima todo su potencial.
Tomás Domínguez es ingeniero en telecomunicaciones y doctor en inteligencia artificial,
con amplia experiencia laboral técnica. Asimismo, ha ejercido como profesor universitario
de Ingeniería Informática en la Universidad Alfonso X el Sabio de Madrid.
Índice
TABLA DE CONTENIDO
1. INTRODUCCIÓN
1.1 Visión artificial
1.2 OpenCV
1.3 Python
2. INSTALACIÓN DE OPENCV
3. PRIMEROS PASOS
3.1 Carga y visualización de la imagen almacenada en un archivo
3.2 Obtención de las características de una imagen
3.3 Creación de una imagen a partir de una matriz de píxeles
3.4 Modificación del valor de los píxeles de una imagen
3.5 Almacenamiento de una imagen en un archivo
4. FUNCIONES DE INTERFAZ GRÁFICA DE USUARIO
4.1 Ventanas
4.2 Líneas
4.3 Rectángulos
4.4 Círculos y elipses
4.5 Textos
4.6 Barras de desplazamiento
5. INTERACCIÓN CON EL RATÓN Y EL TECLADO
5.1 Gestión de eventos del ratón
5.2 Gestión de eventos del teclado
6. OPERACIONES BÁSICAS DE MANEJO DE IMÁGENES
6.1 Obtención del color de un píxel
6.2 Recorte de regiones
6.3 Escalado
6.4 Adición
6.5 Sustracción
6.6 Operaciones bit a bit
6.7 Cambio del espacio de color
7. HISTOGRAMAS
8. FILTROS DE PROCESAMIENTO DE IMÁGENES
8.1 Filtros basados en umbral
8.1.1 Filtro de umbral simple
8.1.2 Filtro de umbral Otsu
8.1.3 Filtro de umbral adaptativo
8.1.4 Comparación entre filtros
8.2 Filtros lineales
8.2.1 Filtro paso bajo (suavizado)
8.2.2 Filtro paso alto (de gradiente)
8.3 Filtros morfológicos
8.3.1 Filtro de dilatación
8.3.2 Filtro de erosión
8.3.3 Otros filtros morfológicos
8.4 Filtro Canny
9. CONTORNOS
9.1 Identificación
9.2 Dibujo
9.3 Cálculo del perímetro y el área
9.4 Bounding box
9.4.1 Pasatiempos. Las siete diferencias
9.5 Contornos de aproximación
9.6 Otras funciones
10. BÚSQUEDA DE IMÁGENES
11. RECONOCIMIENTO DE OBJETOS
11.1 Reconocimiento facial
11.2 Reconocimiento de ojos
11.3 Identificación de personas
12. OPERACIONES BÁSICAS DE MANEJO DE VÍDEO
12.1 Visualización de las imágenes capturadas por una cámara
12.2 Almacenamiento de vídeos
12.3 Reproducción de vídeos
13. PROCESAMIENTO Y ANÁLISIS DE VÍDEO
13.1 El mundo visto en dibujos animados
13.2 Contador de monedas
13.3 Clasificación de objetos irregulares
13.4 Identificación de figuras geométricas
13.5 Preservación de identidad
13.6 Mascota virtual (I)
14. REALIDAD AUMENTADA
14.1 Ropa y complementos
14.2 Decoración e interiorismo
15. SEGUIMIENTO DE OBJETOS EN PANTALLA
15.1 Color tracking
15.1.1 Rastreo de objetos
15.1.2 Mascota virtual (II)
15.1.3 Mascota virtual (III)
15.2 Meanshift
16. SUSTRACCIÓN DE UNA IMAGEN DE FONDO
17. ANEXO. FUNDAMENTOS DE PYTHON
17.1 Entorno de desarrollo
17.1.1 Instalación
17.1.2 Descripción general
17.2 Sintaxis básica de Python
17.3 Variables
17.4 Tipos de datos básicos
17.4.1 Números
17.4.2 Cadenas de caracteres
17.4.3 Booleanos
17.4.4 Conversión de tipos
17.5 Operadores
17.6 Estructuras de control
17.6.1 if…else
17.6.2 while
17.6.3 for
17.7 Estructuras de datos
17.7.1 Listas
17.7.2 Tuplas
17.7.3 Conjuntos
17.7.4 Diccionarios
17.8 Entrada de datos de usuario
17.9 EL Depurador de código de Python
17.10 Funciones
17.11 Alcance de las variables
17.12 Clases y objetos
17.12.1 Herencia
17.13 Módulos
17.14 Threads
17.15 Ficheros
17.16 Excepciones
Valoraciones
No hay valoraciones aún.