Las 5 mejores bibliotecas de procesamiento de imágenes en Java
Este tutorial demuestra las cinco mejores bibliotecas de procesamiento de imágenes en Java.
Las 5 mejores bibliotecas de procesamiento de imágenes en Java
Se proporcionan muchas bibliotecas de procesamiento de imágenes que se pueden usar en Java para el procesamiento de imágenes. Algunas de las bibliotecas son de pago y otras son de código abierto; Hemos seleccionado las 5 mejores bibliotecas de código abierto que se pueden usar para el procesamiento de imágenes en Java.
1. CV abierto
El OpenCV
es una de las bibliotecas más utilizadas para procesamiento de imágenes o visión artificial en varios lenguajes de programación. El OpenCV
está bajo licencia BSD y es gratuito para uso comercial y académico.
Además de Java, OpenCV
también es compatible con los lenguajes C++, C y Python y se puede implementar en sistemas operativos como Windows, Linux, macOS, Android e iOS.
El OpenCV
también puede aprovechar el multiprocesamiento porque está escrito en C/C++ optimizado. La siguiente tabla describe algunas de las características principales de esta biblioteca.
Característica | Descripción |
---|---|
Erosión y dilatación | El OpenCV puede aplicar las dos operaciones de morfología más utilizadas, Erosionar y Dilatar. |
Transformaciones de morfología | El OpenCV tiene un método morfología que aplica transformación morfológica como apertura , cierre , BlackHat , Tophat , etc. |
Suavizado de imágenes | El OpenCV puede aplicar operaciones de suavizado de imágenes como Blur , medianBlur , GaussianBlur y filtro bilateral. |
Pirámides de imágenes | El OpenCV tiene métodos como pyrUp y pyrDown para aumentar y disminuir la resolución de una imagen. |
Reasignación | El OpenCV tiene el método remap() , que realiza la operación de reasignación simple. |
Cálculo de histograma | Los OpenCV cuentan con el método calcHist para generar histogramas dinámicos. |
Agrega bordes a tus imágenes | El método OpenCV copyMakeBorder se puede utilizar para añadir un borde a las imágenes. |
Para obtener más información y descargar la biblioteca, visite este enlace.
2. ImagenJ
ImageJ
es otra biblioteca famosa para el procesamiento de imágenes usando Java. Esta biblioteca puede editar, analizar, mostrar, procesar, imprimir y guardar imágenes de 8, 16 y 32 bits.
Estas son las principales características de esta biblioteca.
Característica | Descripción |
---|---|
Compatible con todos los sistemas operativos | El ImageJ se basa en Java, que puede ejecutarse en todos los sistemas operativos. |
Caja de herramientas | El ImageJ proporciona un conjunto de herramientas que se puede utilizar para desarrollar applets , servlets o aplicaciones de procesamiento de imágenes. |
Tipos de datos | El ImageJ proporciona color RGB, escala de grises y color de 8 bits, enteros sin signo de 16 bits y tipos de datos de coma flotante de 32 bits. |
Trozos escogidos | El ImageJ puede crear selecciones de líneas y puntos y selecciones de áreas rectangulares, elípticas o irregulares. |
Formatos de archivo | El ImageJ puede abrir y guardar formatos JPEG, GIF, PNG, BMP, PGM, FITS y ASCII y abrir GIF, TIFF, JPEG, DICOM y datos sin procesar mediante una URL. |
Procesamiento de color | El ImageJ puede dividir una imagen en componentes RGB o HSV para una imagen de 32 bits y fusionar componentes de 8 bits en una imagen en color. |
Mejora de la imagen | ImageJ proporciona operaciones como suavizado, nitidez, filtrado medio, detección de bordes y umbralización para imágenes en escala de grises y RGB. |
Para obtener más información y descargar la biblioteca, visite este enlace.
3. Fiyi
El Fiji
es un paquete de procesamiento de imágenes basado en ImageJ
, ImageJ2
, Java
, Java 3D
y muchos otros complementos. Fiji
puede considerarse como la interfaz para la biblioteca ImageJ
; veamos algunas características principales de este Paquete.
Característica | Descripción |
---|---|
Registro de imágenes 3D | Fiji proporciona operaciones como Alineación elástica, Extracción de características, Montaje, Estabilizador de imagen, etc., para registrar imágenes en 3D. |
Segmentación de imágenes | Fiji ofrece 35 tipos de segmentaciones de imágenes. |
secuencias de comandos | Fiji proporciona funcionalidades para permitir el scripting con Macros , en JRuby , Jython , JavaScript , Clojure y Beanshell . |
Atajos de teclado | Fiji proporciona muchos atajos de teclado útiles. |
Trucos ImageJ |
Fiji proporciona más funcionalidades para la biblioteca ImageJ . |
Desarrollo de complementos | Fiji proporciona un editor de scripts para desarrollar complementos. |
Para obtener más información y descargar la biblioteca, visite este enlace.
4. Imágenes de Apache Commons
Apache Commons
proporciona muchas funcionalidades, y Image Processing es una de ellas. Se puede utilizar para leer, escribir y analizar imágenes.
Estas son las principales características del procesamiento de imágenes Apache Commons
.
Característica | Descripción |
---|---|
Construido en Java | El Apache Commons está construido puramente en lenguaje Java. |
Soporte de metadatos | El Apache Commons proporciona la lectura y escritura de los metadatos de forma estructurada. |
Formatos de imagen | Apache Commons admite una amplia variedad de formatos de imagen, incluso aquellas otras bibliotecas no son compatibles. |
Amigable con la Red | El Apache Commons es muy compatible con la red porque solo lee los datos que necesita, por lo que es ligero en la red. |
Transparente | El Apache Commons es muy transparente; no tiene búferes ocultos para deshacerse de subprocesos de fondo como otras bibliotecas. |
Conversiones de color | El Apache Commons proporciona una clase de conversión de color que puede convertir los espacios de color entre CIE-L*ab , CIE-L*CH , CIE-L*uv , Hunter-Lab , CMYK , CMY , HSV , HSL , RGB , XYZ y YXY . |
Para obtener más información y descargar la biblioteca, visite este enlace.
5. HERRAMIENTAS DE PLOMO
LEADTOOLS
es una biblioteca de procesamiento de imágenes para Java que proporciona muchas funcionalidades como limpieza de documentos, mejora de imágenes médicas, detección de bordes, conversión y corrección de color, reducción de ruido, etc. Veamos las características principales de esta biblioteca.
Característica | Descripción |
---|---|
Procesamiento de imágenes médicas | El LEADTOOLS es una de las mejores bibliotecas de Java para el procesamiento de imágenes médicas. |
Procesamiento de imágenes de documentos escaneados | Las LEADTOOLS proporcionan algunas funciones potentes para leer documentos escaneados; puede detectar imperfecciones y artefactos como perforaciones, motas de polvo, ángulos sesgados, etc. |
Brillo y contraste | Las LEADTOOLS proporcionan funciones para mejorar imágenes, ayudar en la evaluación diagnóstica de imágenes médicas o aplicar efectos artísticos. |
Transformación Geométrica | Las LEADTOOLS proporcionan funciones para corregir imágenes, aplicar efectos 3D artísticos, limpiar o alinear. |
Corrección de color | Las LEADTOOLS proporcionan funciones para corregir imágenes con corrección de color, equilibrar intensidades de color o realizar otras tareas de análisis de imágenes. |
Conversión de espacio de color | Las LEADTOOLS proporcionan funcionalidades para agregar espacio de color de imagen a aplicaciones de subproceso único y multiproceso. |
Mejora de la imagen | Las LEADTOOLS proporcionan funciones para corregir errores comunes de fotografía, como colores desequilibrados o ojos rojos. También proporciona una evaluación diagnóstica del procesamiento de imágenes médicas. |
Para obtener más información y descargar la biblioteca, visite este enlace.
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook