当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《什么是最好的java图像处理库/方法?》经验,为你挑选了6个好方法。

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

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

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



1> Riyad Kalla..:

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

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


@ user592704的确,imgscalr是根据Apache 2许可获得许可的;相同的许可Apache Foundation上的所有内容均获得许可。您可以使用它,并在开源或商业产品中使用它来做您想做的事情。imgscalr实际上已经在生产中的许多商业Web应用程序中进行了部署。

2> Ivan..:

有ImageJ,自称是

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

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


当我使用ImageJ时,它的API非常笨拙.它更像是一个应用程序,你可以编写插件而不是库.到目前为止,我记得,尝试在旧的AWT代码库中开发新的GUI是一件痛苦的事.
我在许多图像处理应用程序中使用ImageJ作为库.这是一个非常不错的Java库.它也很好地与Java2D集成,因此您可以很容易地混合和匹配2.
我只是浪费了半天时间来尝试进行简单的图像旋转,缩放和裁剪。现在是2019年,ImageJ的文档不可用。

3> 小智..:

另一个不错的选择:马文


非常感谢.你救了我的一天!:D(PS:我不是OP.我在google搜索时遇到过这个帖子并相信我,它对我帮助很大!(如果我有一天见到你,会给你买啤酒.)).
@missingfaktor现在我欠你一杯啤酒.你对约瑟的称赞也救了我的一天.约瑟夫,你的啤酒也得到了:)!
该URL显然不再存在,但http://marvinproject.sourceforge.net/似乎是新的URL.

4> kenny..:

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



5> fmsf..:

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


处理是GPL.
实际上,核心库(可用于嵌入功能)是LGPL.但没有人问许可证是什么.http://wiki.processing.org/w/FAQ#Is_Processing_Open_Source.3F_How_.27bout_some_code.3F

6> Diego Catala..:

尝试使用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


"Java中最好的框架是Catalano Framework",听起来就像是在宣传自己的产品.您的框架可能很棒,但您应该披露您与该网站的关联,如[常见问题解答]中所述(https://meta.stackexchange.com/questions/57497/limits-for-self-promotion-in-answers#answer -59302).
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有