J'utilise à la fois les API médias JAI et ImageMagick?
ImageMagick a quelques problèmes d'évolutivité et le JMagick basé sur JNI n'est pas non plus attrayant. JAI a des résultats de mauvaise qualité lors des opérations de redimensionnement par rapport à ImageMagick.
Est-ce que quelqu'un connaît d'excellents outils open source ou commerciaux qui sont natifs java et fournissent des résultats de haute qualité?
java
image-processing
image-manipulation
Daniel Honig
la source
la source
java image processing library
mais fermé ... comme d'habitude. La modération va trop loin sur SO ces jours-ci.Réponses:
Il y a ImageJ , qui se vante d'être le
Il peut être utilisé comme bibliothèque dans une autre application. Son architecture n'est pas brillante, mais elle effectue des tâches de traitement d'image de base.
la source
Je sais que cette question est assez ancienne, mais à mesure que de nouveaux logiciels sortent, cela aide à obtenir de nouveaux liens vers des projets qui pourraient être intéressants pour les gens.
imgscalr est une bibliothèque de redimensionnement d'images en Java pur (et d'opérations simples comme le remplissage, le recadrage, la rotation, l'éclaircissement / la gradation, etc.) qui est douloureusement simple à utiliser - une seule classe se compose d'un ensemble d'opérations graphiques simples toutes définies comme des méthodes statiques qui vous passez une image et obtenez un résultat.
L'exemple le plus élémentaire d'utilisation de la bibliothèque ressemblerait à ceci:
Et une utilisation plus typique pour générer des miniatures d'images en utilisant quelques réglages de qualité et similaires pourrait ressembler à ceci:
Toutes les opérations de traitement d'image utilisent le pipeline Java2D brut (qui est accéléré par le matériel sur les principales plates-formes) et n'introduiront pas la douleur d'appeler via JNI comme un conflit de bibliothèque dans votre code.
imgscalr a également été déployé dans des productions à grande échelle dans de nombreux endroits - l'inclusion de la classe AsyncScalr en fait une solution idéale pour tout traitement d'image côté serveur.
Il existe de nombreux ajustements à la qualité d'image que vous pouvez utiliser pour faire le compromis entre la vitesse et la qualité avec le mode ULTRA_QUALITY le plus élevé fournissant un résultat à l'échelle qui semble meilleur que l'implémentation Lancoz3 de GIMP.
la source
Une autre bonne alternative: Marvin
la source
Je ne suis pas un Java, mais OpenCV est parfait pour mes besoins. Je ne sais pas si cela correspond au vôtre. Voici un port Java, je pense: http://docs.opencv.org/2.4/doc/tutorials/introduction/desktop_java/java_dev_intro.html
la source
Le traitement est nouveau mais très, très bon.
la source
Essayez d'utiliser Catalano Framework .
Points clés:
Le Catalano Framework est un framework pour le calcul scientifique pour Java et Android. Le projet a commencé comme un port initial des nombreuses fonctionnalités des frameworks AForge.NET et Accord.NET pour .NET, mais croît régulièrement avec des fonctionnalités plus avancées qui sont désormais partagées entre ces projets.
Exemple:
la source
The best framework in Java is Catalano Framework
cela ressemble à de la publicité pour votre propre produit. Votre cadre peut être génial, mais vous devez divulguer votre affiliation avec celui-ci, comme indiqué dans la FAQ .imo la meilleure approche consiste à utiliser le système de traitement d'images GraphicsMagick avec im4java comme interface de ligne de commande pour Java.
Il existe de nombreux avantages de GraphicsMagick, mais un pour tous:
la source
http://im4java.sourceforge.net/ - si vous utilisez Linux forking, un nouveau processus n'est pas cher.
la source
Pour les outils commerciaux, vous voudrez peut-être essayer Snowbound.
http://www.snowbound.com/
Mon expérience avec eux est quelque peu dépassée, mais j'ai trouvé que leur API d'imagerie Java était beaucoup plus facile à utiliser que JAI et beaucoup plus rapide.
Leur support client et leurs exemples de code étaient également très bons.
la source
La liste des logiciels de vision RoboRealm mentionne les JHLabs et NeatVision parmi de nombreuses autres bibliothèques non Java.
la source
Je ne peux pas dire que c'est la "meilleure" bibliothèque, mais je pense que vous pouvez essayer ceci: http://algart.net/java/AlgART/ Il s'agit d'une bibliothèque Java open source, prenant en charge les tableaux et matrices "intelligents" généralisés avec des éléments de différents types (de 1 bit à 64 bits à virgule flottante), y compris le traitement d'image 2D, 3D et multidimensionnel et d'autres algorithmes, en travaillant avec des tableaux et des matrices. Malheureusement, en ce moment, il ne comprend pas suffisamment de démos et d'exemples, mais, d'autre part, il contient beaucoup de JavaDocs. Il a reposé sur la base des logiciels commerciaux (SIMAGIS) pendant plusieurs années, mais maintenant il est open-source.
la source