
Hace 20 años, en 1999,
Kyocera lanzó el primer teléfono móvil con cámara digital: Visual Phone VP-210. Desde entonces, gracias al mercado increíblemente grande y creciente de dispositivos de comunicación móvil, los sensores CCD de cámaras digitales han dado un salto increíble en todos los aspectos. Sensibilidad, rango, tamaño, consumo de energía, pero lo más importante, precio.
En nuestras realidades, un módulo de cámara, en realidad un dispositivo tecnológicamente muy sofisticado, puede costar solo unos pocos dólares. Esto cambia radicalmente la vista en muchos procesos y tareas. Anteriormente, el desafío era conseguir una cámara que técnicamente cumpliera con los requisitos mínimos. Después de pasar esa prueba, resolver problemas de procesamiento de imágenes parecía solo problemas agradables. Ahora el problema del software que procesará la información de la cámara es más grave. La barrera del acceso físico y económico a la tecnología ha caído tan bajo que ha tocado los límites de la competencia del usuario.
Veamos ejemplos de la vida real de lo difícil (o simple) que es ahora trabajar con imágenes y qué tareas puede realizar un especialista de TI de una especialización diferente.
Por supuesto, la herramienta principal para trabajar con imágenes es la biblioteca Open Source OpenCV. Escrito en C ++: también tiene interfaces para trabajar con Python, Java, PHP, JavaScript y otros lenguajes menos populares. En el ejemplo de varios proyectos que usan OpenCV, publicado en el centro en 2018-2019, consideraremos qué tareas se resolvieron y qué tecnologías se usaron.
1)
Alimentador inteligente: aprendizaje automático, Raspberry Pi, Telegram, un poco de entrenamiento mágico + instrucciones de montajePublica en el proyecto de pasatiempos
ZlodeiBaal : 27,6k vistas, 289 marcadores. Raspberry Pi B +, cámara, OpenCV, Caffe, Python.
2)
Cámara termográfica de bricolaje en Raspberry PI o "Parece que ahora sé lo que haré este verano"Publica sobre el proyecto de pasatiempo
Walker2000 : 73.8k vistas, 425 marcadores. Raspberry Pi B + / Raspberry Pi Zero W, matriz de imagen térmica, OpenCV, Python.
3)
Imprima el tapiz "Juego de Tronos" en una impresora fiscal usando PythonPublicación sobre el proyecto de pasatiempo
viking_unet : 7.9k vistas, 50 marcadores. Impresora fiscal, OpenCV, Python.
4)
StereoPi: nuestro hardware para estudiar visión artificial, drones y robotsUna publicación sobre el proyecto de hardware doméstico
Realizator : 14.1k vistas, 117 marcadores. Raspberry Pi, OpenCV.
5)
Restaurar imágenes borrosas y desenfocadas utilizando el filtro Wiener. Implementación en C ++ OpenCVPublicación sobre la experiencia de
VladislavBK : 16.7k vistas, 154 marcadores. Nikon, OpenCV, C ++.
6)
OpenCV en STM32F7-DiscoveryPublicación sobre el proyecto de afición 0xdde: 6,4k vistas, 71 marcadores. STM32, OpenCV, Qt, C ++.
7)
Inicie su detector de red neuronal en la Raspberry Pi usando el Neural Compute Stick y OpenVINOPublicación sobre el proyecto de pasatiempo
BeloborodovDS : 14.7k vistas, 126 marcadores. Raspberry Pi. Neural Compute Stick, OpenCV, OpenVINO, C ++.
8)
Visión por computadora y aprendizaje automático en PHP usando la biblioteca opencvPublicación sobre el proyecto de afición
morozovsk : 21,6 mil vistas, 236 marcadores. OpenCV, PHP, php-opencv.
9)
opencv4arts: Draw my city, VincentUna publicación sobre visión por computadora y redes neuronales en el navegador dkurt: 5.4k vistas, 63 marcadores. OpenCV, JavaScript, OpenCV.js
10)
* El lugar está vacante *El último elemento estaba destinado a un proyecto en Java, ya que este lenguaje es oficialmente compatible con OpenCV, pero no pude encontrar una publicación adecuada en Habré. Escribe tus suposiciones ¿por qué? Mejor aún, escribe una publicación sobre el tema. Java es un lenguaje muy extendido, y estoy extremadamente sorprendido por una representación tan escasa en el panorama de pasatiempos de las personas de TI.
No es difícil de notar: en la mayoría de los casos, los autores trabajaron primero con OpenCV y la visión por computadora en particular. Esto no los detuvo con esfuerzos relativamente pequeños para crear un proyecto funcional e incluso resolver problemas reales de una manera conveniente.