2024-06-26 10:22:09 发布
网友
我正在为我的三星Galaxy Tab上的Android4.0冰激凌三明治项目工作。 通过SL4A使用python,我试图获得给定坐标(x,y)的jpeg(或png)图像的像素RGB值。在
Android脚本不包括任何可以做到这一点的东西。而且,据我所知,还没有人对SL4A做过PIL,imageio或任何其他流行的图像库的移植
然而,Kivy的Python for Android分布与PIL一起提供。如果你能用的话,太好了。如果没有,也许您可以看看他们是如何让_imaging.so来构建的,并为S4LA构建它。在
_imaging.so
如果这两种方法中的任何一种对您有效,那么这很简单:
另外,还有一些纯pythonjpeg库,比如TonyJpegDecoder或{a5}。尝试搜索PyPI、ActiveState和Google以获取更多信息。(你可能想搜索与gogoogleappengine相关的东西,因为GAE与Android有类似的限制。)
这些都不如PIL、libjpeg的Python绑定那样完整、功能齐全或简单,而且它们可能会非常慢。(来自NanoJPEG的文档:“在我的core2duo机器上解压400x400像素的图像需要12秒,而原始的C代码需要0.2秒”…)
但你应该能做你需要的。例如(未测试):
请注意,许多声称是“纯Python”的库只是意味着它们通过ctypes而不是使用扩展模块来包装C库,这在本例中没有直接帮助,但是移植libjpeg或FreeImage之类的东西可能比PIL更容易。(事实上,这可能只是“创建一个通用的配方,运行构建脚本,然后推送,如果幸运的话)。”
ctypes
作为一个非常疯狂的可能性,PySide早在PIL出现之前就被移植到Android上了,所以您可以随时使用Qt来为您进行图像处理。但老实说,移植PIL或imageio或至少libjpeg必须更容易。在
Android脚本不包括任何可以做到这一点的东西。而且,据我所知,还没有人对SL4A做过PIL,imageio或任何其他流行的图像库的移植
然而,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必须更容易。在
相关问题 更多 >
编程相关推荐