【问题标题】:Extracting image pixel values in google appengine在谷歌应用引擎中提取图像像素值
【发布时间】:2011-05-04 11:52:14
【问题描述】:

我正在使用 google appengine 创建一个用于比较图像相似度的工具。 我需要提取每个图像的像素值来执行此操作。 不幸的是,appengine 不支持 java 图像库。所以我无法继续。

java 中是否有任何能够提取图像数据的 appengine 安全图像库? 我在 python 中看到了一些技术,但如果我能以某种方式在 java 中做到这一点,我不想切换到 python...

【问题讨论】:

  • 我没用过 AppEngine 但它声称支持 Java 6。所以你应该能够使用 BufferedImage.getRGB() 来获取像素值?
  • Google AppEngine 不支持 Java 6 中的所有库。他们不支持那些他们认为不会在服务器端使用的库。缓冲图像在 java.awt.image 库中定义,appengine 不支持。
  • @mikera BufferedImage 是一个受限类(即不支持)

标签: java google-app-engine


【解决方案1】:

GAEJ 有自己的graphic library,但功能相当有限,java.awt.image.BufferedImage 是一个受限类(即,java.awt.Image 不受支持,Jre Class White List 中仍然不存在)。

有一个未解决的问题here,您可能想给它加注星标。

编辑:
有人修补了 pngj 以使用 InputStream。(您可以使用它逐像素读取 PNG)

【讨论】:

  • 感谢您的回复.. 我将尝试提到的 pngj 库。如果我找到解决方案会回复
【解决方案2】:

pngj 的新版本现在是一个仅引用白名单类的替代 pngj-sandbox.jar,它应该在 google-app-engine 中运行。

【讨论】:

    【解决方案3】:

    https://github.com/witwall/appengine-awt 能帮到你吗?我相信将 theis lib 添加为项目的依赖项就足以使 BufferedImage 工作(但还没有尝试过)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      相关资源
      最近更新 更多