Я пытаюсь использовать некоторые python скрипты в Android приложении (Java). Я настроил Chaquopy, следуя инструкциям на их веб-сайте. https://chaquo.com/chaquopy/doc/current/android.html
Я нашел пример того, как выполнять python сценарии в kotlin приложении https://www.ericdecanini.com/2019/10/21/run-python-scripts-in-the-android-front-end-with-chaquopy/, но я изо всех сил пытаюсь понять это out in Java.
Если я правильно понимаю, сценарий python (.py) хранится в src / main / python, и можно вызвать этот сценарий из другого действия и отобразить результаты в та же самая вызывающая активность.
Пример в kotlin:
val python = Python.getInstance()
val pythonFile = python.getModule("helloworldscript")
val helloWorldString = pythonFile.callAttr("helloworld")
hello_textview.text = helloWorldString.toString()
Я хочу выполнить следующий python скрипт:
import os
import face_recognition
def cmd2():
os.system("face_recognition ./event_faces/ ./event_images/")
Этот инструмент командной строки from face_recognition позволяет пользователю запускать распознавание лиц в каталоге изображений и сравнивать их с каталогом известных лиц. Результатом является распечатка обработанных файлов с любыми известными или неизвестными лицами, добавленными к имени файла.
My Goal is to execute this python script and display the output in the activity (i.e textView)
Does anyone know if it is possible to use face_recognition in Android Studio with Chaquopy?
It is not listed so I am having some doubts https://chaquo.com/pypi-7.0/ Можно ли сделать os. введите вызовы в приложении android?
ДОПОЛНИТЕЛЬНО Если кто-нибудь знает способ выполнить распознавание лиц в каталоге изображений в Java без использования python face_recognition, дайте мне знать. Я пытался найти такую библиотеку, как face_recognition, для java, но безуспешно. Библиотека face_recognition из Python очень хорошо работает для меня, но теперь, когда я пытаюсь перенести свои сценарии python в проект Android Studio, все становится немного сложно.
Таким образом, мой код far: Android Manifest
<application
android:name="com.chaquo.python.android.PyApplication"
app Gradle
apply plugin: 'com.android.application'
apply plugin: 'com.chaquo.python'
android {
compileSdkVersion 29
defaultConfig {
python{
staticProxy "bulk.py"
pip{
install "dlib"
install "opencv-python"
install "opencv-contrib-python"
install "face_recognition"
install "pillow"
install "numpy"
install "cv2"
install "os"
}
}
applicationId "com.projectdevelopment.faces"
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
project gradle
buildscript {
repositories {
google()
jcenter()
maven { url "https://chaquo.com/maven" }
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.0"
classpath 'com.google.gms:google-services:4.3.3'
classpath "com.chaquo.python:gradle:8.0.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
Действие, выполняющее Python скрипт
python.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//call python script and return output to this activity
}
});
Заранее благодарим за любой вклад. Это очень ценно.