Wat is de beste bibliotheek/aanpak voor Java-beeldverwerking?

Ik gebruik zowel de JAI-media-apis als ImageMagick?

ImageMagick heeft wat schaalbaarheidsproblemen en de op JNI gebaseerde JMagick is ook niet aantrekkelijk.
JAI heeft resultaten van slechte kwaliteit bij het wijzigen van de grootte in vergelijking met ImageMagick.

Kent iemand uitstekende open source of commerciële tools die native Java zijn en resultaten van hoge kwaliteit leveren?


Antwoord 1, autoriteit 100%

Er is ImageJ, die er prat op gaat de

‘s werelds snelste pure Java-afbeelding
verwerkingsprogramma

Het kan worden gebruikt als bibliotheek in een andere toepassing. Zijn architectuur is niet briljant, maar hij voert de basistaken voor beeldverwerking uit.


Antwoord 2, autoriteit 93%

Ik weet dat deze vraag vrij oud is, maar als er nieuwe software uitkomt, helpt het om nieuwe links te krijgen naar projecten die interessant kunnen zijn voor mensen.

imgscalris puur Java-afbeeldingsformaat (en eenvoudige bewerkingen zoals opvullen, bijsnijden, roteren, helderder maken/ dimmen, enz.) bibliotheek die pijnlijk eenvoudig te gebruiken is – een enkele klasse bestaat uit een reeks eenvoudige grafische bewerkingen die allemaal zijn gedefinieerd als statischemethoden waarmee u een afbeelding doorgeeft en een resultaat terugkrijgt.

Het meest eenvoudige voorbeeld van het gebruik van de bibliotheek ziet er als volgt uit:

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

En een meer typisch gebruik om miniatuurafbeeldingen te genereren met een paar kwaliteitsaanpassingen en dergelijke kan er als volgt uitzien:

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

Alle bewerkingsbewerkingen gebruiken de RAW JAVA2D-pijpleiding (die hardware is versneld op grote platforms) en zal niet de pijn introduceren om te bellen via JNI zoals Bibliotheekbekrachtiging in uw code.

IMGSCALR is ook in grote schaalproducties ingezet op nogal wat plaatsen – de opname van de ASYLCSCALR-klasse maakt het een perfecte drop-in voor elke beeldverwerking van de serverzijde.

Er zijn talloze tweaks aan beeldkwaliteit die u kunt gebruiken om te verhogen tussen snelheid en kwaliteit met de hoogste Ultra_Quality-modus die een geschaald resultaat uitziet dat er beter uitziet dan de LANCOZ3-implementatie van GIMP.


Antwoord 3, Autoriteit 35%

Nog een goed alternatief: Marvin


Antwoord 4, Autoriteit 11%

Ik ben geen Java-man, maar OpenCV is geweldig voor mijn behoeften. Ik weet niet zeker of het bij u past. Hier is een Java-poort, denk ik:
http://docs.penencv.org/2.4/doc/ Tutorials / Introductie / Desktop_java / Java_Dev_intro.html


Antwoord 5, Autoriteit 10%

verwerking is nieuw, maar heel goed.


Antwoord 6, Autoriteit 5%

Probeer Catalano Framework te gebruiken.

Keypoints:

  • architectuur zoals aforge.net/accord.net.
  • Werk in beide omgevingen met dezelfde code, desktop en android.
  • Bevat meerdere filters parallel.
  • De ontwikkeling draait op volle toeren.

Het Catalano Framework is een raamwerk voor wetenschappelijk computergebruik voor Java en Android. Het project begon als een eerste overdracht van de vele functies van de AForge.NET- en Accord.NET-frameworks voor .NET, maar groeit gestaag met meer geavanceerde functies die nu tussen die projecten worden gedeeld.

Voorbeeld:

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

Antwoord 7, autoriteit 4%

imo is de beste aanpak het gebruik van GraphicsMagick-beeldverwerkingssysteemmet im4javaals een opdrachtregelinterface voor Java.

Er zijn veel voordelen van GraphicsMagick, maar één voor iedereen:

  • GM wordt gebruikt om miljarden
    bestanden op ‘s werelds grootste foto
    sites (bijv. Flickr en Etsy).

Antwoord 8, autoriteit 3%

http://im4java.sourceforge.net/– als je Linux gebruikt proces is niet duur.


Antwoord 9, autoriteit 2%

Voor commerciële tools kun je Snowbound proberen.

http://www.snowbound.com/

Mijn ervaring met hen is enigszins gedateerd, maar ik vond hun Java Imaging API een stuk gemakkelijker te gebruiken dan JAI en een stuk sneller.

Hun klantenondersteuning en codevoorbeelden waren ook erg goed.


Antwoord 10, autoriteit 2%

Roborealm Vision Software lijst vermeldt jhlabs en Neatvision Onder veel andere niet-JAVA-bibliotheken.


Antwoord 11

Ik kan niet zeggen dat het de “beste” bibliotheek is, maar ik denk dat je dit kunt proberen:
http://algart.net/java/algart/
Het is een open-source Java-bibliotheek, die gegeneraliseerde “slimme” arrays en matrices ondersteunt met elementen van verschillende typen (van 1 bit tot 64-bits drijvend punt), waaronder 2D-, 3D- en multidimensionale beeldverwerking en andere algoritmen, werken met Arrays en matrices.
Helaas bestaat het nu niet genoeg demo en voorbeelden, maar aan de andere kant bevat het veel Javadocs. Het lag in de basis van commerciële software (Simagis) gedurende meerdere jaren, maar nu is het open-source.

Other episodes