java - 什么是最好的 java 图像处理库/方法?

标签 java image-processing image-manipulation

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

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

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

最佳答案

我知道这个问题已经很老了,但是随着新软件的问世,它确实有助于获得一些人们可能感兴趣的项目的新链接。

imgscalr是纯 Java 图像大小调整(以及简单的操作,如填充、裁剪、旋转、变亮/变暗等)库,使用起来非常简单 - 单个类由一组简单的图形操作组成,所有这些操作都定义为 static 传递图像并返回结果的方法。

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

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

所有图像处理操作都使用原始 Java2D 管道(在主要平台上是硬件加速的),不会像代码中的库争用那样引入通过 JNI 调用的痛苦。

imgscalr 也已部署在很多地方的大规模生产中 - 包含 AsyncScalr 类使其成为任何服务器端图像处理的完美插件。

您可以对图像质量进行许多调整,以在速度和质量之间进行权衡,最高 ULTRA_QUALITY 模式可提供看起来比 GIMP 的 Lancoz3 实现更好的缩放结果。

关于java - 什么是最好的 java 图像处理库/方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603283/

相关文章:

java - 在 Java 中创建矩形时,我真的调用了 paintComponent 方法吗?

java - layoutroot无法解析

java - 关于Spring MVC如何使用@RequestMapping注解实现RESTfull架构的一些说明

python - OpenCV结合SURF与神经网络

php - 将一种形状变形为另一种形状的算法。

.net - 如何在 ColorMatrix 中使用计算出的颜色值?

ssl - 为 Java RMI 服务器/客户端强制使用 SSL/TLS 版本

c++ - OpenCV 不会加载图像

c# - 将图像转换为 Base64 字符串

css - 相对于设置为位置 :fixed 的流体宽度元素的位置内容