使用Python获取jpeg的像素值(SL4A android 4.0)

2024-06-26 10:22:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我的三星Galaxy Tab上的Android4.0冰激凌三明治项目工作。 通过SL4A使用python,我试图获得给定坐标(x,y)的jpeg(或png)图像的像素RGB值。在


Tags: 项目图像pngrgb像素tabgalaxyjpeg
1条回答
网友
1楼 · 发布于 2024-06-26 10:22:09

Android脚本不包括任何可以做到这一点的东西。而且,据我所知,还没有人对SL4A做过PILimageio或任何其他流行的图像库的移植

然而,Kivy的Python for Android分布与PIL一起提供。如果你能用的话,太好了。如果没有,也许您可以看看他们是如何让_imaging.so来构建的,并为S4LA构建它。在

如果这两种方法中的任何一种对您有效,那么这很简单:

^{1}$

另外,还有一些纯pythonjpeg库,比如TonyJpegDecoder或{a5}。尝试搜索PyPI、ActiveState和Google以获取更多信息。(你可能想搜索与gogoogleappengine相关的东西,因为GAE与Android有类似的限制。)

这些都不如PIL、libjpeg的Python绑定那样完整、功能齐全或简单,而且它们可能会非常慢。(来自NanoJPEG的文档:“在我的core2duo机器上解压400x400像素的图像需要12秒,而原始的C代码需要0.2秒”…)

但你应该能做你需要的。例如(未测试):

^{pr2}$

请注意,许多声称是“纯Python”的库只是意味着它们通过ctypes而不是使用扩展模块来包装C库,这在本例中没有直接帮助,但是移植libjpeg或FreeImage之类的东西可能比PIL更容易。(事实上,这可能只是“创建一个通用的配方,运行构建脚本,然后推送,如果幸运的话)。”

作为一个非常疯狂的可能性,PySide早在PIL出现之前就被移植到Android上了,所以您可以随时使用Qt来为您进行图像处理。但老实说,移植PIL或imageio或至少libjpeg必须更容易。在

相关问题 更多 >