我是否需要“Java Advanced Imaging API”来学习Java中的“图像处理”

时间:2010-02-22 02:36:34

标签: java graphics image-processing

我需要“Java Advanced Imaging API”来学习Java中的“图像处理”吗? 在java中学习“图像处理”有什么好的链接吗?

6 个答案:

答案 0 :(得分:2)

如果你正在寻找学习非常基本的东西,我会说不应该从JAI开始,因为这个库可以帮助你轻松处理图像,但不学习如何处理图像 - 你不会知道真正的低级别的东西,比如如何直接操作像素阵列。

我开始通过反转图像,裁剪图像,创建直方图,进行直方图均衡,各种仿射变换(缩放,旋转)等。

这个讲座可能是一个好的开始.. http://kevin.floorsoup.com/scholarship/ip2d/p12-burger.pdf

很抱歉,如果您正在寻找更复杂的东西:)

答案 1 :(得分:1)

我想说如果你想学习图像处理,那么你就不会需要 JAI。在大学时,我们使用PGM文件,学习如何进行基本变换,基本过滤等。

PGM非常容易使用,因为它是灰度级的,您可以使用ASCII对图像进行编码。这意味着您可以立即编写一些代码来读取和写入它们,然后您就可以开始构建自己的图像处理算法。

请在此处查看:http://en.wikipedia.org/wiki/Portable_Gray_Map

显然,如果您想要进行一些严肃的图像处理,那么请查看一个真正的API,但如果您想玩游戏并学习,那么这就是我要开始的地方。

答案 2 :(得分:1)

这取决于“学习”的含义。如果你想理解图像处理的基础,那么,不,除了基本熟悉ImageIO类读取和写入图像,以及BufferedImage getRGB()和{{}之外,你不需要任何东西。 3}}方法。

如果您想学习如何使用现有的API进行图像处理,您仍然可以使用Java2D API完成大量工作,但JAI为您提供了更多的文件格式和更多的过滤器。

但在这种情况下,我会说试用Python Imaging Library!

答案 3 :(得分:1)

如果您的需求超出基本操作 - 我认为最好的工具包可以学习整个图像处理范围(从基本到高级,如对象识别/计算机视觉)是Open CV。 Java有很多Open CV包装器。

答案 4 :(得分:1)

考虑Processing,它基于Java(某些扩展,如颜色数据类型)。这些教程为一般图像处理概念提供了很好的介绍。

“Processing是一种开源编程语言和环境,适合想要创建图像,动画和交互的用户。” http://www.processing.org

答案 5 :(得分:1)

没有。但是,有一个很好的Java程序叫做“ImageJ”(google it)。 它将帮助您快速启动,因为您可以用最少的工作量和复杂性开始用Java编写自己的插件。此外,有许多插件和类为它提供并免费提供。