在 Android 上使用 Numpy 和 OpenCV 运行 python 脚本

Posted

技术标签:

【中文标题】在 Android 上使用 Numpy 和 OpenCV 运行 python 脚本【英文标题】:Running python script with Numpy and OpenCV on Android 【发布时间】:2018-06-09 05:35:12 【问题描述】:

我有一个复杂的图像处理脚本,它使用 Numpy 和 OpenCV 在 python 中运行。 我想在 android 中运行此脚本,但找不到方法。

经过一些研究,我发现了一些框架可能会有所帮助,但我遇到了一些问题:

Kivy 只生成完整的 APK,但我需要的是 AAR 或一些后台服务,以便我可以从其他应用程序使用它 QPython 只运行脚本,我没有找到通过我的应用程序与之通信的方法 cxfreeze 我试图从我的脚本中生成可执行文件,然后从我的应用程序中运行它,但我找不到将我的脚本编译到 ARM 处理器的方法,以便 Android 能够执行它

我很高兴听到有关如何在 Android 中运行此脚本的一些想法。 是否可以 root 设备并安装 Python、Numpy 和 OpenCV?

【问题讨论】:

【参考方案1】:

对我来说最好的解决方案是使用 steveiles 的 OpenCv for Android 并将 Python 脚本转换为 Java。原来 opencv 有我需要的所有垫子计算功能

另一种解决方案是使用chroot: https://technohackerblog.blogspot.co.il/2016/07/running-arch-linux-in-chroot-on-android.html

【讨论】:

嗨@AvielNiego 你是如何将python代码转换为java的? 那是很久以前的事了,但我认为我只是与 OpenCV 的文档密切合作【参考方案2】:

我会尝试 Kivy Launcher 您必须使用 opencv 和 numpy 支持来构建它

有关详情,请参阅:How to run OpenCV in Kivy Launcher?。

在第一次构建后,您将拥有一个可以运行脚本的应用,您无需再次生成 APK,只需更改脚本即可:)

【讨论】:

感谢 Yoav!我需要能够从我的其他标准 java Android 应用程序运行的东西,这可能吗? 在这种情况下,请尝试将 kivy 应用程序创建为 Android 服务 blog.kivy.org/2014/01/… -【参考方案3】:

另一种选择是https://termux.com,但要让cv2 处理它会有些困难。

【讨论】:

以上是关于在 Android 上使用 Numpy 和 OpenCV 运行 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章

Android音视频使用opensles和audiotrack进行播放pcm

Android Studio配置和使用OpenCV3.x,不需要OpencvManager

pip install "numpy" 在 android chaquopy 中导致错误

使用 Matplotlib 和 NumPy 在图像上绘制圆圈

Android--智能机器人聊天

如何使用 numpy 在二维数组上执行最大/均值池化