Java DIP - Bibliotecas de código abierto
En este capítulo, exploramos algunas de las bibliotecas de procesamiento de imágenes gratuitas que se utilizan ampliamente y se pueden integrar fácilmente en el proyecto. Estas bibliotecas incluyen:
- ImageJ
- Fiji
- Imágenes comunes
- ImageMagick
- Endrov
- LeadTools
- OpenCv
ImageJ
ImageJ es un programa de procesamiento de imágenes Java de dominio público inspirado en NIH Image para Macintosh. Puede mostrar, editar, analizar, procesar, guardar e imprimir imágenes de 8, 16 y 32 bits.
Algunas de las características básicas de ImageJ se describen a continuación:
No Señor. | Característica y descripción |
---|---|
1 |
Runs Everywhere ImageJ está escrito en Java, lo que le permite ejecutarse en Linux, Mac OS X y Windows, tanto en modo de 32 bits como de 64 bits. |
2 |
Open Source ImageJ y su código fuente Java están disponibles gratuitamente y son de dominio público. |
3 |
Toolkit Utilice ImageJ como un juego de herramientas de procesamiento de imágenes (biblioteca de clases) para desarrollar applets, servlets o aplicaciones. |
4 |
Data Types Escala de grises de 8 bits o color indexado, entero sin signo de 16 bits, punto flotante de 32 bits y color RGB. |
5 |
File Formats Abra y guarde GIF, JPEG, BMP, PNG, PGM, FITS y ASCII. Abra DICOM. Abra archivos TIFF, GIF, JPEG, DICOM y datos sin procesar mediante una URL. |
6 |
Selections Cree selecciones de áreas rectangulares, elípticas o irregulares. Cree selecciones de líneas y puntos. |
7 |
Image Enhancement Admite suavizado, nitidez, detección de bordes, filtrado de mediana y creación de umbrales en imágenes en color RGB y en escala de grises de 8 bits. |
8 |
Color Processing Divida una imagen en color de 32 bits en componentes RGB o HSV. Fusionar componentes de 8 bits en una imagen en color. |
Fiyi
Fiji es un paquete de procesamiento de imágenes. Puede describirse como una distribución de ImageJ (e ImageJ2) junto con Java, Java3D y muchos complementos organizados en una estructura de menú coherente. Fiji se compara con ImageJ como Ubuntu se compara con Linux.
Además de las funciones básicas de ImageJ, a continuación se describen algunas de las funciones avanzadas de Fiji:
No Señor. | Característica y descripción |
---|---|
1 |
Registering 3D images Esto implica alineación y montaje elásticos, extracción de características, estabilizador de imagen, etc. |
2 |
Segmenting images Ofrece más de 35 tipos de segmentación. |
3 |
Useful keyboard short cuts Fuji tiene muchos atajos de teclado. |
4 |
Scripting Permita la creación de scripts con macros, en JavaScript, JRuby, Jython, Clojure y Beanshell. |
5 |
Developing Plug-ins Utilice el Editor de scripts para comenzar a desarrollar complementos y luego ejecutarlos. |
6 |
ImageJ Tricks ImageJ es fácil de usar, pero a veces desea alguna función que esté realmente implementada, pero no sabe cómo activarla. |
Imágenes comunes
Apache Commons Imaging, anteriormente conocido como Apache Commons Sanselan, es una biblioteca que lee y escribe una variedad de formatos de imagen, incluido el análisis rápido de información de imagen como (tamaño, color, espacio, perfil ICC, etc.) y metadatos.
Algunas de las características básicas de ImageJ se describen a continuación:
No Señor. | Característica y descripción |
---|---|
1 |
Java Apache Commons Imaging está escrito en Java 100% puro. Se ejecuta en cualquier JVM y en cualquier plataforma, sin modificaciones. |
2 |
Image Formats Lee y escribe una amplia variedad de formatos de imagen y admite algunas variaciones y codificaciones que no se encuentran en todas o en la mayoría de las otras bibliotecas. |
3 |
Metadata support Admite la lectura y escritura de una variedad de metadatos de forma estructurada, incluidos los metadatos EXIF. |
4 |
Network Friendly Es compatible con la red. Commons Imaging solo lee los datos que necesita y almacena en caché lo que se lee para que no sea demasiado pesado en la red. |
5 |
Easy to use Está diseñado para ser muy fácil de usar. Tiene una interfaz simple y limpia. La mayoría de las operaciones son llamadas a un único método Imaging. |
6 |
Transparent Commons Imaging tiene como objetivo ser transparente. No hay búferes ocultos para eliminar, ni memoria nativa para liberar, ni hilos en segundo plano. |
7 |
Open Source Es Software Libre / Código Abierto. Está disponible bajo la licencia de software Apache. |
8 |
Color Conversions La clase ColorConversions ofrece métodos para convertir entre los siguientes espacios de color: CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ e YXY. |
ImageMagick
ImageMagick es un paquete de software para crear, editar, componer o convertir imágenes de mapa de bits. Puede leer y escribir imágenes en más de 100 formatos, incluidos DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG y TIFF. Utilice ImageMagick para cambiar el tamaño, voltear, reflejar, rotar, distorsionar, distorsionar y transformar imágenes, ajustar los colores de la imagen, aplicar varios efectos especiales o dibujar texto, líneas, polígonos, elipses y curvas Bézier.
Algunas de las características básicas de ImageMagick se describen a continuación:
No Señor. | Característica y descripción |
---|---|
1 |
Format conversion Convierte una imagen de un formato a otro (por ejemplo, PNG a JPEG). |
2 |
Transform Puede cambiar el tamaño, rotar, recortar, voltear o recortar una imagen. |
3 |
Transparency Hace invisibles partes de una imagen. |
4 |
Draw Agrega formas o texto a una imagen. |
5 |
Decorate Agrega un borde o marco a una imagen. |
6 |
Special effects Puede desenfocar, enfocar, definir o teñir una imagen. |
7 |
Animation Puede crear una secuencia de animación GIF a partir de un grupo de imágenes. |
8 |
Composite Puede superponer una imagen sobre otra. |
9 |
Morphology of shapes Extrae características, describe formas y reconoce patrones en imágenes. |
10 |
Encipher or decipher an image Convierte imágenes ordinarias en un galimatías ininteligible y viceversa. |
Endrov
Endrov es un programa de análisis de imágenes multipropósito. Está escrito de forma independiente y diseñado para abordar muchas de las deficiencias de otro software gratuito y muchos paquetes comerciales.
Algunas de las características básicas de Endrov se describen a continuación:
No Señor. | Característica y descripción |
---|---|
1 |
View data Visualiza datos, en 2D y 3D. Diseñado para manejar esquemas de datos 4D complejos y un número ilimitado de canales, donde cada canal puede tener su propia resolución X, Y y Z. |
2 |
Annotate your images Anota tus imágenes, de forma automática o manual, para entenderlas y obtener estadísticas. |
3 |
Undo and Redo Puede deshacer y rehacer para todas las operaciones. |
4 |
Lazy Evaluation Está diseñado desde el suelo para manejar grandes conjuntos de imágenes. Endrov utiliza la evaluación perezosa, un concepto disponible principalmente en lenguajes de programación de investigación. |
5 |
Scripting language Es compatible con el lenguaje de secuencias de comandos gráfico, así como con las secuencias de comandos tradicionales. |
6 |
Java Escrito en Java. La arquitectura de complementos permite una fácil extensión con nuevos complementos de Java. Puede interactuar con Matlab. |
7 |
Formats Accede a casi todos los formatos de archivo comerciales y abiertos utilizando Bio-formatos. |
8 |
Microscopic Processing Puede controlar todos sus microscopios con un programa y realizar análisis de imágenes sobre la marcha. |
HERRAMIENTAS
LEADTOOLS proporciona más de 200 funciones de procesamiento de imágenes en varias categorías que incluyen limpieza de documentos, mejora de imágenes médicas, conversión y corrección de color, reducción de ruido, detección de bordes y más.
Algunas de las características básicas de LEADTOOLS se describen a continuación:
No Señor. | Característica y descripción |
---|---|
1 |
Scanned Document Image Processing Esta poderosa colección de funciones puede leer documentos escaneados de artefactos e imperfecciones como agujeros perforados, ángulos torcidos, bordes, motas de polvo y más. |
2 |
Medical Image Processing Mejore la imagen o resalte los detalles cambiando, seleccionando, restando y eliminando el fondo para obtener mejores imágenes. |
3 |
Geometric Transformation Estas funciones se pueden utilizar para limpiar, alinear, corregir imágenes o aplicar efectos artísticos en 3D. |
4 |
Brightness and Contrast Estas funciones se pueden utilizar para mejorar imágenes, aplicar efectos artísticos o ayudar en la evaluación diagnóstica de imágenes médicas. |
5 |
Color Space Conversion Pueden agregar funcionalidad de espacio de color de imagen a aplicaciones de un solo subproceso y de múltiples subprocesos, incluidas las aplicaciones alojadas en IIS y Windows WF. |
6 |
Color Correction Estas funciones se utilizan para corregir imágenes con canales de color intercambiados, equilibrar las intensidades de color o realizar diversas tareas de análisis de imágenes. |
7 |
Image Enhancement Estas funciones se utilizan para corregir errores comunes en la fotografía, como ojos rojos y colores desequilibrados, así como para ayudar en la evaluación diagnóstica de imágenes médicas. |
8 |
Region of Interest Estas funciones se utilizan para crear y modificar regiones de interés en imágenes para realizar funciones de procesamiento de imágenes en partes específicas de una imagen, ahorrar tiempo en código de barras y reconocimiento OCR o realizar diversas tareas de análisis de imágenes. |
OpenCV
OpenCV se publica bajo una licencia BSD y, por lo tanto, es gratuito para uso académico y comercial. Tiene interfaces C ++, C, Python y Java y es compatible con Windows, Linux, Mac OS, iOS y Android. OpenCV fue diseñado para la eficiencia computacional y con un fuerte enfoque en aplicaciones en tiempo real. Escrita en C / C ++ optimizado, la biblioteca puede aprovechar el procesamiento de múltiples núcleos.
Algunas características básicas de OpenCV se describen brevemente:
No Señor. | Característica y descripción |
---|---|
1 |
Smoothing Images Esto implica aplicar Blur, GaussianBlur, medianBlur y Filtro bilateral. |
2 |
Eroding and Dilating Puede aplicar dos operadores de morfología muy comunes: dilatación y erosión. |
3 |
Morphology Transformations Morfología de la función OpenCV Ex para aplicar Transformación Morfológica como apertura, cierre, TopHat y BlackHat, etc. |
4 |
Image Pyramids Las funciones de OpenCV pyrUp y pyrDown para bajar o subir una muestra de una imagen determinada. |
4 |
Basic Thresholding Operations Realice operaciones básicas de umbral utilizando el umbral de la función OpenCV. |
5 |
Adding borders to your images La función de OpenCV copyMakeBorder se usa para establecer los bordes (relleno adicional para su imagen). |
7 |
Remapping En OpenCV, la función de reasignación ofrece una implementación de reasignación simple. |
8 |
Histogram Calculation Para propósitos simples, OpenCV implementa la función calcHist, que calcula el histograma de un conjunto de matrices (generalmente imágenes o planos de imagen). Puede operar con hasta 32 dimensiones. |