visor una seticon ruta recuperar para obtener mostrar imagenes imagen guardar ejemplo datos codigo java image-processing image-manipulation

una - ¿Cuál es la mejor biblioteca/enfoque de procesamiento de imágenes java?



recuperar imagen de base de datos java (11)

Hay ImageJ , que se jacta de ser el

el programa de procesamiento de imágenes Java más puro del mundo

Puede ser utilizado como una biblioteca en otra aplicación. Su arquitectura no es brillante, pero hace tareas básicas de procesamiento de imágenes.

Estoy usando tanto los apis de medios JAI como ImageMagick?

ImageMagick tiene algunos problemas de escalabilidad y el JMagick basado en JNI tampoco es atractivo. JAI tiene resultados de baja calidad al realizar operaciones de cambio de tamaño en comparación con ImageMagick.

¿Alguien sabe de alguna herramienta excelente, ya sea de código abierto o comercial, que sea Java nativo y ofrezca resultados de alta calidad?


Imo, el mejor enfoque es utilizar GraphicsMagick Image Processing System con im4java como una interfaz de línea de comandos para Java.

GraphicsMagick ofrece muchas ventajas, pero una para todos:

  • GM se utiliza para procesar miles de millones de archivos en los sitios de fotos más grandes del mundo (por ejemplo, Flickr y Etsy).

La list software de visión RoboRealm menciona JHLabs y NeatVision entre muchas otras bibliotecas no basadas en Java.


No puedo decir que es la "mejor" biblioteca, pero creo que puedes probar esto: http://algart.net/java/AlgART/ Es una biblioteca de código abierto de Java, que admite matrices y matrices "inteligentes" generalizadas con Elementos de diferentes tipos (desde 1 bit hasta punto flotante de 64 bits), que incluyen procesamiento de imágenes 2D, 3D y multidimensional y otros algoritmos, que trabajan con matrices y matrices. Desafortunadamente, en este momento no contiene suficientes demostraciones y ejemplos, pero, por otro lado, contiene muchos JavaDocs. Estuvo en la base del software comercial (SIMAGIS) durante varios años, pero ahora es de código abierto.



Otra buena alternativa: Marvin


Para herramientas comerciales, es posible que desee probar Snowbound.

http://www.snowbound.com/

Mi experiencia con ellos es un poco anticuada, pero su API de Java Imaging es mucho más fácil de usar que JAI y mucho más rápida.

Su soporte al cliente y ejemplos de código también fueron muy buenos.


Sé que esta pregunta es bastante antigua, pero a medida que sale un nuevo software, ayuda a obtener nuevos enlaces a proyectos que podrían ser interesantes para la gente.

imgscalr es una imgscalr cambio de tamaño de imagen de Java pura (y operaciones simples como relleno, recorte, rotación, brillo / atenuación, etc.) que es muy fácil de usar: una sola clase consta de un conjunto de operaciones gráficas simples, todas definidas como métodos estáticos que Pasas una imagen y recuperas un resultado.

El ejemplo más básico de usar la biblioteca se vería así:

BufferedImage thumbnail = Scalr.resize(image, 150);

Y un uso más típico para generar miniaturas de imágenes con algunos ajustes de calidad y similares podría tener este aspecto:

import static org.imgscalr.Scalr.*; public static BufferedImage createThumbnail(BufferedImage img) { // Create quickly, then smooth and brighten it. img = resize(img, Method.SPEED, 125, OP_ANTIALIAS, OP_BRIGHTER); // Let''s add a little border before we return result. return pad(img, 4); }

Todas las operaciones de procesamiento de imágenes utilizan el canal Java2D sin procesar (que es acelerado por hardware en las plataformas principales) y no presentarán el dolor de llamar a través de JNI como la contención de bibliotecas en su código.

imgscalr también se ha implementado en producciones a gran escala en bastantes lugares: la inclusión de la clase AsyncScalr lo convierte en una opción perfecta para cualquier procesamiento de imágenes del lado del servidor.

Existen numerosos ajustes en la calidad de imagen que puede utilizar para intercambiar entre velocidad y calidad con el modo ULTRA_QUALITY más alto que proporciona un resultado escalado que se ve mejor que la implementación de Lancoz3 de GIMP.


Trate de usar el marco de Catalano .

Puntos clave:

  • Arquitectura como AForge.NET/Accord.NET.
  • Ejecutar en ambos entornos con el mismo código, escritorio y Android.
  • Contiene varios filtros en paralelo.
  • El desarrollo está a todo vapor.

El marco de Catalano es un marco para la computación científica para Java y Android. El proyecto comenzó como un puerto inicial de las muchas características de los marcos de trabajo de AForge.NET y Accord.NET para .NET, pero sigue creciendo con características más avanzadas que ahora se comparten entre esos proyectos.

Ejemplo:

FastBitmap fb = new FastBitmap(bitmap); Grayscale g = new Grayscale(); g.applyInPlace(fb); Threshold t = new Threshold(120); t.applyInPlace(fb); bitmap = fb.toBitmap(); //Show the result


im4java - si está ejecutando linux y un nuevo proceso no es caro.