【问题标题】:How should I do image processing in Java?我应该如何在 Java 中进行图像处理?
【发布时间】:2010-11-26 01:16:44
【问题描述】:

我正在制作一个小程序,让用户可以裁剪图像并保存它。对于裁剪,我将实现一个“魔杖”式工具。我可以在 Matlab 中完成所有这些工作,但在找出 Java 库时遇到了一些麻烦。以下是我需要执行的一些任务:

  • 通过 (x,y) 随机访问图像中的像素并返回单个对象(java.awt.Color、ARGB int、short[] 等等——只要我不单独处理通道)
  • 从 boolean[ ][ ] 创建一个 Alpha 通道
  • 创建一个初始化为绿色的 N x M 图像

有没有专业人士可以帮助我?只需一些代码 sn-ps 就可以了。

非常感谢,

尼尔

【问题讨论】:

  • 你看过 Java Advanced Imaging API 吗?

标签: java image-processing bufferedimage


【解决方案1】:

您想使用 Java2D 库。具体来说,您想使用库中的BufferedImage 类来处理您的图像。您可以访问单个像素并执行上面指定的所有操作。 Sun/Oracle 有一个good tutorial 可以帮助您朝着正确的方向开始。该教程的第二部分介绍了创建 Alpha 通道。哦,要访问单个像素,您需要使用 WritableRaster 类。所以你可以做这样的事情。希望这能让你开始。

WritableRaster imageRaster = Bufferedimg.getRaster();
//use java random generation to get a random x and y coordinate, then call this to access the pixel
imageRaster.getPixel(x, y,(int[])null);

【讨论】:

  • 顺便说一句,您的教程链接已损坏,网址末尾有一个额外的l
  • 谢谢!这就是我最终使用的。
【解决方案2】:

ImageJ 是一个成熟的开源图像处理框架,支持宏、插件和许多其他features

【讨论】:

    【解决方案3】:

    Marvin是一个可以帮助你的Java图像处理框架。它提供了用于过滤、特征提取、形态分析、转换、分割等的算法。此外,其架构支持使用相同算法进行实时视频处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 2011-10-28
      • 2019-04-24
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多