我需要“Java Advanced Imaging API”来学习Java中的“图像处理”吗? 在java中学习“图像处理”有什么好的链接吗?
答案 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编写自己的插件。此外,有许多插件和类为它提供并免费提供。