【问题标题】:Read colors of image with Python (GAE)使用 Python (GAE) 读取图像的颜色
【发布时间】:2010-09-16 11:34:10
【问题描述】:

如何使用谷歌应用引擎通过 python 读取图像的颜色?

示例:我喜欢构建一个函数来确定图像中最引人注目的颜色,从而为其设置谐波背景颜色。

【问题讨论】:

    标签: python google-app-engine image analysis


    【解决方案1】:

    Images API(当前)不包含像素级函数。引用概述文件:

    注意:要在本地环境中使用图像 API,您必须首先下载并安装 Python 图像库 PIL。 PIL 在 App Engine 上不可用;它仅用作本地环境中图像 API 的存根。 App Engine 上仅提供图像 API 中提供的转换。

    一段时间以来,社区一直在寻求对 PIL 的全面支持,但看起来我们必须等待。

    【讨论】:

      【解决方案2】:

      对于 PNG,您可以使用 PyPNG module - 轻量级纯 Python PNG 解码器/编码器。

      import png
      
      point = (10, 20) # coordinates of pixel to read
      
      reader = png.Reader(filename='image.png') # streams are also accepted
      w, h, pixels, metadata = reader.read()
      pixel_byte_width = 4 if metadata['has_alpha'] else 3
      pixel_position = point[0] + point[1] * w
      print pixels[
        pixel_position * pixel_byte_width :
        (pixel_position + 1) * pixel_byte_width]
      

      【讨论】:

      • 其他图片类型的读取可以通过AppEngine内将图片转为PNG来实现。
      • 你能在 GAE 中使用这个模块吗?
      • @papercuts,我不明白为什么不这样做。这里的答案似乎证实了这一点:stackoverflow.com/questions/2431345/…
      【解决方案3】:

      如果您愿意在页面上放置 Flash 或 Java 小程序,您也许可以在客户端上进行。我不确定画布或 SVG 之类的东西是否支持像素级操作,但如果支持,您也许可以在某些带有 JavaScript 的浏览器中使用它。

      Flash 或 Java Applet,可以是不可见的和可选的——您可以使用 JavaScript 来检测用户是否有插件,并且只有在他们有插件时才支持此功能。

      【讨论】:

      • 假设应用程序是一个网站,它可能是别的东西。
      猜你喜欢
      • 2017-02-15
      • 2013-05-07
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多