色彩还原(Java 中)

Posted

技术标签:

【中文标题】色彩还原(Java 中)【英文标题】:Color reduction (in Java) 【发布时间】:2010-09-10 08:47:04 【问题描述】:

我想找到一种方法来获取 JPEG(或 GIF/PNG)图像并将颜色数量减少到例如20. 有人可以推荐一些图书馆或其他参考资料吗?也欢迎其他语言的源代码。

【问题讨论】:

【参考方案1】:

看看Java Advanced Imaging API。该 API 中实现了许多算法来进行颜色减少。

【讨论】:

【参考方案2】:

JAI(Java 高级成像 API)可以完成这项工作,但它有一些缺点。

API 远非易于使用,特别是如果您关心内存占用...

恕我直言,Java 不是成像任务的最佳平台。 您可以尝试ImageMagick,这是一个很棒的命令行工具,被 Flickr 等流行网站使用。您可以使用命令行 (Runtime.exec()) 或 Jmagick 将 ImageMagick 集成到您的 java 应用程序中,这是一个到 ImageMagick 的 java 桥

【讨论】:

【参考方案3】:

这似乎是一个基于 ImageMagick 的简单 java 实现:

http://gurge.com/amd/java/quantize/index.html

【讨论】:

【参考方案4】:

查看http://www.jhlabs.com/ip/filters/index.html 的图像过滤器。 QuantizeFilter 似乎可以满足您的需求。

【讨论】:

【参考方案5】:

寻找有关颜色量化的算法,尤其是中值切割。您会发现许多使用这些关键字的示例。为您执行此操作的库包括 ImageMagick,它具有多种语言的绑定。 JMagick 是 Java 风格。

【讨论】:

【参考方案6】:

JAI API 是要走的路。与今天的 JVM 性能非常接近汇编代码。我知道我已经做到了。

【讨论】:

以上是关于色彩还原(Java 中)的主要内容,如果未能解决你的问题,请参考以下文章

视频服务HDR Vivid 还原色彩,让所见成“真”

ps-色彩饱和度的设计

Java - 将图像转换为黑白 - 色彩鲜艳失败

Java 判断图片色彩

环境设计中色彩的配色应用

HSV色彩空间讨论