258 votes

Quelle est la meilleure bibliothèque / approche de traitement d'image java?

J'utilise à la fois les apis médias JAI et ImageMagick?

ImageMagick a quelques problèmes d'évolutivité et le JMI basé sur JNI n'est pas attrayant non plus. JAI a des résultats de qualité médiocre lors des opérations de redimensionnement par rapport à ImageMagick.

Est-ce que quelqu'un sait d'excellents outils soit open source ou commerciaux qui sont natifs Java et offrent des résultats de haute qualité?

137voto

Riyad Kalla Points 6064

Je sais que cette question est assez ancien, mais comme un nouveau logiciel vient de sortir il aide à obtenir quelques nouveaux liens pour les projets qui pourraient être intéressant pour les gens.

imgscalr est pure Java de redimensionnement d'image (et simple de la fpo, comme le rembourrage, le recadrage, rotation, éclaircir/gradation, etc.) de la bibliothèque qui est douloureusement simple à utiliser - une classe unique se compose d'un ensemble de graphiques simples opérations de toutes définie comme statique méthodes que vous passez d'une image et obtenir un résultat.

L'exemple le plus simple de l'utilisation de la bibliothèque devrait ressembler à ceci:

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

Et un de plus typique d'utilisation pour générer des vignettes d'image à l'aide d'un peu de la qualité des réglages et la comme pourrait ressembler à ceci:

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);
}

Tous les traitement de l'image des opérations d'utiliser le raw Java2D pipeline (qui est l'accélération matérielle sur les principales plates-formes) et de ne pas introduire la douleur de l'appel via JNI comme la bibliothèque de contention dans votre code.

imgscalr a également été déployé dans des productions de grande envergure dans pas mal d'endroits - l'inclusion de la AsyncScalr classe le rend parfait pour n'importe quel serveur-côté de traitement de l'image.

Il y a de nombreux réglages de qualité d'image que vous pouvez utiliser à faire des compromis entre la vitesse et la qualité avec ULTRA_QUALITY mode en fournissant une échelle de suite que c'est mieux que GIMP est Lancoz3 mise en œuvre.

93voto

Ivan Points 4558

Il n’y a ImageJ, qui se vante d’être le

programme de traitement d’image Java pur plus rapide du monde

Il peut être utilisé comme une bibliothèque dans une autre application. C' est l’architecture n’est pas brillant, mais il fait des tâches de traitement d’image de base.

33voto

Joseph Points 191

Une autre bonne alternative : Marvin

10voto

kenny Points 9150

Je ne suis pas un gars de Java, mais OpenCV est parfait pour mes besoins. Vous ne savez pas si elle s’inscrit à vôtre. Voici un port de Java, selon moi : http://ubaa.net/shared/processing/opencv/

9voto

fmsf Points 13399

Traitement est nouveau, mais très, très bon.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X