代码之家  ›  专栏  ›  技术社区  ›  Daniel Honig

最好的java图像处理库/方法是什么?[关闭]

  •  266
  • Daniel Honig  · 技术社区  · 17 年前

    我同时使用JAI媒体api和ImageMagick?

    ImageMagick存在一些可扩展性问题,基于JNI的JMagick也没有吸引力。 与ImageMagick相比,JAI在执行大小调整操作时的结果质量较差。

    有人知道有什么优秀的工具,无论是开源的还是商业的,都是原生java的,并能提供高质量的结果吗?

    11 回复  |  直到 17 年前
        1
  •  137
  •   abagh0703 Riyad Kalla    7 年前

    imgscalr 静态 传递图像并返回结果的方法。

    使用库的最基本示例如下:

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

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

        2
  •  93
  •   Community Mohan Dere    6 年前

    ImageJ ,号称是

    处理程序

    它可以在另一个应用程序中用作库。它的架构并不出色,但它可以完成基本的图像处理任务。

        3
  •  33
  •   Matthias Braun AdamSkywalker    12 年前

    另一个好的选择: Marvin

        4
  •  10
  •   rafalmag Steve Kuo    10 年前

    我不是Java爱好者,但OpenCV非常适合我的需求。不确定它是否适合你。我认为这是一个Java端口: http://docs.opencv.org/2.4/doc/tutorials/introduction/desktop_java/java_dev_intro.html

        5
  •  9
  •   GEOCHET S.Lott    17 年前

    Processing 是新的,但非常非常好。

        6
  •  5
  •   Diego Catalano    12 年前

    尝试使用 Catalano Framework .

    要点:

    • 像AForge.NET/Accord这样的架构。网。
    • 在两个环境中使用相同的代码运行,桌面和Android。
    • 包含多个并行过滤器。
    • 发展正全速进行。

    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
    
        7
  •  4
  •   kajo    15 年前

    imo最好的方法是使用 GraphicsMagick Image Processing System im4java 作为Java的命令行接口。

    GraphicsMagick有很多优点,但有一个是通用的:

    • 通用汽车被用来处理数十亿 世界上最大的照片中的文件 网站(例如Flickr和Etsy)。
        8
  •  3
  •   David Basarab    15 年前

    http://im4java.sourceforge.net/ -如果你运行的是linux,分叉一个新进程并不昂贵。

        9
  •  2
  •   Clayton    17 年前

    对于商业工具,您可能想尝试Snowbound。

    http://www.snowbound.com/

    我对他们的经验有些过时,但我发现他们的Java Imaging API比JAI更容易使用,而且速度更快。

    他们的客户支持和代码示例也很好。

        10
  •  2
  •   rics    17 年前

    RoboRealm视觉软件 list JHLabs NeatVision 在许多其他非基于Java的库中。

        11
  •  1
  •   Daniel    12 年前

    我不能说它是“最好的”图书馆,但我认为你可以试试这个: http://algart.net/java/AlgART/ 它是一个开源Java库,支持具有不同类型元素(从1位到64位浮点)的广义“智能”数组和矩阵,包括2D、3D和多维图像处理以及其他与数组和矩阵一起工作的算法。 不幸的是,现在它没有足够的演示和示例,但另一方面,它包含了很多JavaDocs。多年来,它一直是商业软件(SIMAGIS)的基础,但现在它是开源的。