java图片处理插件_什么是最好的java图像处理库/方法?

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

我正在使用JAI媒体api和ImageMagick?

ImageMagick有一些可扩展性问题,而基于JNI的JMagick也没有吸引力。与ImageMagick相比,JAI在进行大小调整操作时效果不佳。

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

11个解决方案

128 votes

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

imgscalr是纯Java图像大小调整(以及简单的操作,如填充,裁剪,旋转,变亮/调光等),使用起来非常简单 - 单个类包含一组简单的图形操作,所有操作都定义为静态方法 你传递一张图片并取回一个结果。

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

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实现更好的缩放结果。

Riyad Kalla answered 2019-04-04T10:48:50Z

84 votes

有ImageJ,自称是

世界上最快的纯Java图像   处理程序

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

Ivan answered 2019-04-04T10:48:02Z

29 votes

另一个不错的选择:马文

Joseph answered 2019-04-04T10:49:10Z

9 votes

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

kenny answered 2019-04-04T10:49:38Z

8 votes

加工是新的,但非常非常好。

fmsf answered 2019-04-04T10:50:05Z

5 votes

尝试使用Catalano Framework。

关键点:

像AForge.NET/Accord.NET这样的架构。

使用相同的代码,桌面和Android在这两个环境中运行。

包含多个并行过滤器。

发展充满活力。

Catalano Framework是Java和Android的科学计算框架。 该项目最初是作为.NET的AForge.NET和Accord.NET框架的许多功能的初始端口,但随着更高级的功能正在稳步增长,这些功能现在正在这些项目之间共享。

例:

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

Diego Catalano answered 2019-04-04T10:50:54Z

4 votes

imo最好的方法是使用GraphicsMagick图像处理系统和im4java作为Java的命令行界面。

GraphicsMagick有很多优点,但对所有人来说都是:

通用汽车用于处理数十亿美元世界上最大的照片文件网站(例如Flickr和Etsy)。

kajo answered 2019-04-04T10:51:25Z

3 votes

[http://im4java.sourceforge.net/] - 如果你正在运行linux forking,那么新进程并不昂贵。

Amanjit Gill answered 2019-04-04T10:51:55Z

2 votes

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

[http://www.snowbound.com/]

我对它们的体验有点过时,但我发现它们的Java Imaging API比JAI更容易使用,速度更快。

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

Clayton answered 2019-04-04T10:52:57Z

2 votes

RoboRealm视觉软件列表在许多其他非基于Java的库中提到了JHLabs和NeatVision。

rics answered 2019-04-04T10:53:17Z

1 votes

我不能说这是“最好的”图书馆,但我想你可以试试这个:[http://algart.net/java/AlgART/]它是一个开源Java库,支持通用的“智能”数组和矩阵,包含不同类型的元素(从1位到64位浮点),包括2D,3D和多维图像处理和其他算法,使用 数组和矩阵。不幸的是,它现在没有足够的演示和示例,但另一方面,它包含许多JavaDoc。 它位于商业软件(SIMAGIS)的基础上几年,但现在它是开源的。

Daniel answered 2019-04-04T10:53:53Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值