diff --git a/WORKSPACE b/WORKSPACE index 9862d5693..e05721ad7 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -427,7 +427,7 @@ http_archive( build_file = "@//third_party:opencv_android.BUILD", strip_prefix = "OpenCV-android-sdk", type = "zip", - url = "https://github.com/opencv/opencv/releases/download/3.4.3/opencv-3.4.3-android-sdk.zip", + url = "https://github.com/opencv/opencv/releases/download/4.10.0/opencv-4.10.0-android-sdk.zip", ) # After OpenCV 3.2.0, the pre-compiled opencv2.framework has google protobuf symbols, which will diff --git a/build_android_examples.sh b/build_android_examples.sh index 6dbdd6671..545b2f971 100644 --- a/build_android_examples.sh +++ b/build_android_examples.sh @@ -31,18 +31,6 @@ set -e -function switch_to_opencv_3() { - echo "Switching to OpenCV 3" - sed -i -e 's:4.0.1/opencv-4.0.1:3.4.3/opencv-3.4.3:g' WORKSPACE - sed -i -e 's:libopencv_java4:libopencv_java3:g' third_party/opencv_android.BUILD -} - -function switch_to_opencv_4() { - echo "Switching to OpenCV 4" - sed -i -e 's:3.4.3/opencv-3.4.3:4.0.1/opencv-4.0.1:g' WORKSPACE - sed -i -e 's:libopencv_java3:libopencv_java4:g' third_party/opencv_android.BUILD -} - out_dir="." strip=true install_only=false @@ -76,7 +64,6 @@ echo "strip: $strip" declare -a apks=() declare -a bazel_flags -switch_to_opencv_3 apps="${app_dir}/*" for app in ${apps}; do @@ -117,14 +104,8 @@ for app in ${apps}; do else apk="${out_dir}/${target_name}.apk" if [[ $install_only == false ]]; then - if [[ ${app_name} == "templatematchingcpu" ]]; then - switch_to_opencv_4 - fi bazelisk "${bazel_flags[@]}" cp -f "${bin}" "${apk}" - if [[ ${app_name} == "templatematchingcpu" ]]; then - switch_to_opencv_3 - fi fi apks+=(${apk}) fi diff --git a/docs/getting_started/hello_world_android.md b/docs/getting_started/hello_world_android.md index 1148ff5a9..f844d4d2d 100644 --- a/docs/getting_started/hello_world_android.md +++ b/docs/getting_started/hello_world_android.md @@ -689,7 +689,7 @@ to load both dependencies: static { // Load all native libraries needed by the app. System.loadLibrary("mediapipe_jni"); - System.loadLibrary("opencv_java3"); + System.loadLibrary("opencv_java4"); } ``` diff --git a/mediapipe/examples/android/src/java/com/google/mediapipe/apps/basic/MainActivity.java b/mediapipe/examples/android/src/java/com/google/mediapipe/apps/basic/MainActivity.java index 8027c9533..4c3fefb59 100644 --- a/mediapipe/examples/android/src/java/com/google/mediapipe/apps/basic/MainActivity.java +++ b/mediapipe/examples/android/src/java/com/google/mediapipe/apps/basic/MainActivity.java @@ -57,12 +57,7 @@ public class MainActivity extends AppCompatActivity { static { // Load all native libraries needed by the app. System.loadLibrary("mediapipe_jni"); - try { - System.loadLibrary("opencv_java3"); - } catch (java.lang.UnsatisfiedLinkError e) { - // Some example apps (e.g. template matching) require OpenCV 4. - System.loadLibrary("opencv_java4"); - } + System.loadLibrary("opencv_java4"); } // Sends camera-preview frames into a MediaPipe graph for processing, and displays the processed diff --git a/mediapipe/java/com/google/mediapipe/mediapipe_aar.bzl b/mediapipe/java/com/google/mediapipe/mediapipe_aar.bzl index 8817f2835..9de2295b0 100644 --- a/mediapipe/java/com/google/mediapipe/mediapipe_aar.bzl +++ b/mediapipe/java/com/google/mediapipe/mediapipe_aar.bzl @@ -196,10 +196,10 @@ def _mediapipe_jni(name, gen_libmediapipe, calculators = []): native.cc_library( name = name + "_opencv_cc_lib", srcs = select({ - "//mediapipe:android_arm64": ["@android_opencv//:libopencv_java3_so_arm64-v8a"], - "//mediapipe:android_arm": ["@android_opencv//:libopencv_java3_so_armeabi-v7a"], - "//mediapipe:android_x86": ["@android_opencv//:libopencv_java3_so_x86"], - "//mediapipe:android_x86_64": ["@android_opencv//:libopencv_java3_so_x86_64"], + "//mediapipe:android_arm64": ["@android_opencv//:libopencv_java4_so_arm64-v8a"], + "//mediapipe:android_arm": ["@android_opencv//:libopencv_java4_so_armeabi-v7a"], + "//mediapipe:android_x86": ["@android_opencv//:libopencv_java4_so_x86"], + "//mediapipe:android_x86_64": ["@android_opencv//:libopencv_java4_so_x86_64"], "//conditions:default": [], }), alwayslink = 1, diff --git a/mediapipe/tasks/java/com/google/mediapipe/tasks/mediapipe_tasks_aar.bzl b/mediapipe/tasks/java/com/google/mediapipe/tasks/mediapipe_tasks_aar.bzl index c2a301c12..91b5c8571 100644 --- a/mediapipe/tasks/java/com/google/mediapipe/tasks/mediapipe_tasks_aar.bzl +++ b/mediapipe/tasks/java/com/google/mediapipe/tasks/mediapipe_tasks_aar.bzl @@ -419,10 +419,10 @@ def _mediapipe_tasks_aar(name, srcs, manifest, java_proto_lite_targets, native_l native.cc_library( name = name + "_jni_opencv_cc_lib", srcs = select({ - "//mediapipe:android_arm64": ["@android_opencv//:libopencv_java3_so_arm64-v8a"], - "//mediapipe:android_arm": ["@android_opencv//:libopencv_java3_so_armeabi-v7a"], - "//mediapipe:android_x86": ["@android_opencv//:libopencv_java3_so_x86"], - "//mediapipe:android_x86_64": ["@android_opencv//:libopencv_java3_so_x86_64"], + "//mediapipe:android_arm64": ["@android_opencv//:libopencv_java4_so_arm64-v8a"], + "//mediapipe:android_arm": ["@android_opencv//:libopencv_java4_so_armeabi-v7a"], + "//mediapipe:android_x86": ["@android_opencv//:libopencv_java4_so_x86"], + "//mediapipe:android_x86_64": ["@android_opencv//:libopencv_java4_so_x86_64"], "//conditions:default": [], }), alwayslink = 1, diff --git a/third_party/opencv_android.BUILD b/third_party/opencv_android.BUILD index 6c00457e7..391b8340f 100644 --- a/third_party/opencv_android.BUILD +++ b/third_party/opencv_android.BUILD @@ -5,7 +5,7 @@ licenses(["notice"]) # BSD license exports_files(["LICENSE"]) -OPENCV_LIBRARY_NAME = "libopencv_java3.so" +OPENCV_LIBRARY_NAME = "libopencv_java4.so" OPENCVANDROIDSDK_NATIVELIBS_PATH = "sdk/native/libs/" @@ -31,7 +31,7 @@ OPENCVANDROIDSDK_JNI_PATH = "sdk/native/jni/" ]] [alias( - name = "libopencv_java3_so_" + arch, + name = "libopencv_java4_so_" + arch, actual = OPENCVANDROIDSDK_NATIVELIBS_PATH + arch + "/" + OPENCV_LIBRARY_NAME, visibility = ["//visibility:public"], ) for arch in [