diff --git a/samples/android/CMakeLists.txt b/samples/android/CMakeLists.txt index dbb539fc58..3913fd35bd 100644 --- a/samples/android/CMakeLists.txt +++ b/samples/android/CMakeLists.txt @@ -14,6 +14,7 @@ add_subdirectory(color-blob-detection) add_subdirectory(tutorial-1-camerapreview) add_subdirectory(tutorial-2-mixedprocessing) add_subdirectory(tutorial-3-cameracontrol) +add_subdirectory(tutorial-4-opencl) # hello-android sample if(HAVE_opencv_highgui) diff --git a/samples/android/face-detection/jni/Android.mk b/samples/android/face-detection/jni/Android.mk index 6b6642602d..0686b22d86 100644 --- a/samples/android/face-detection/jni/Android.mk +++ b/samples/android/face-detection/jni/Android.mk @@ -5,7 +5,15 @@ include $(CLEAR_VARS) #OPENCV_CAMERA_MODULES:=off #OPENCV_INSTALL_MODULES:=off #OPENCV_LIB_TYPE:=SHARED -include ../../sdk/native/jni/OpenCV.mk +ifdef OPENCV_ANDROID_SDK + ifneq ("","$(wildcard $(OPENCV_ANDROID_SDK)/OpenCV.mk)") + include ${OPENCV_ANDROID_SDK}/OpenCV.mk + else + include ${OPENCV_ANDROID_SDK}/sdk/native/jni/OpenCV.mk + endif +else + include ../../sdk/native/jni/OpenCV.mk +endif LOCAL_SRC_FILES := DetectionBasedTracker_jni.cpp LOCAL_C_INCLUDES += $(LOCAL_PATH) diff --git a/samples/android/tutorial-2-mixedprocessing/jni/Android.mk b/samples/android/tutorial-2-mixedprocessing/jni/Android.mk index 18dac1fb09..6cd88bd7cf 100644 --- a/samples/android/tutorial-2-mixedprocessing/jni/Android.mk +++ b/samples/android/tutorial-2-mixedprocessing/jni/Android.mk @@ -2,7 +2,15 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -include ../../sdk/native/jni/OpenCV.mk +ifdef OPENCV_ANDROID_SDK + ifneq ("","$(wildcard $(OPENCV_ANDROID_SDK)/OpenCV.mk)") + include ${OPENCV_ANDROID_SDK}/OpenCV.mk + else + include ${OPENCV_ANDROID_SDK}/sdk/native/jni/OpenCV.mk + endif +else + include ../../sdk/native/jni/OpenCV.mk +endif LOCAL_MODULE := mixed_sample LOCAL_SRC_FILES := jni_part.cpp diff --git a/samples/android/tutorial-4-opencl/CMakeLists.txt b/samples/android/tutorial-4-opencl/CMakeLists.txt index 2d529ffb7a..96bacdeb4b 100644 --- a/samples/android/tutorial-4-opencl/CMakeLists.txt +++ b/samples/android/tutorial-4-opencl/CMakeLists.txt @@ -1,4 +1,12 @@ set(sample example-tutorial-4-opencl) +if(NOT DEFINED ANDROID_OPENCL_SDK) + message(STATUS "Sample ${sample} is disabled, because ANDROID_OPENCL_SDK is not specified") + return() +endif() +if(ANDROID_NATIVE_API_LEVEL LESS 14) + message(STATUS "Sample ${sample} is disabled, because ANDROID_NATIVE_API_LEVEL < 14") + return() +endif() if(BUILD_FAT_JAVA_LIB) set(native_deps opencv_java) @@ -6,7 +14,13 @@ else() set(native_deps opencv_imgproc) endif() -add_android_project(${sample} "${CMAKE_CURRENT_SOURCE_DIR}" LIBRARY_DEPS ${OpenCV_BINARY_DIR} SDK_TARGET 21 ${ANDROID_SDK_TARGET} NATIVE_DEPS ${native_deps}) +include_directories(${ANDROID_OPENCL_SDK}/include) +link_directories(${ANDROID_OPENCL_SDK}/lib/${ANDROID_ABI}) +add_android_project(${sample} "${CMAKE_CURRENT_SOURCE_DIR}" + LIBRARY_DEPS ${OpenCV_BINARY_DIR} + SDK_TARGET 21 ${ANDROID_SDK_TARGET} + NATIVE_DEPS ${native_deps} -lGLESv2 -lEGL -lOpenCL +) if(TARGET ${sample}) add_dependencies(opencv_android_examples ${sample}) endif() diff --git a/samples/android/tutorial-4-opencl/jni/Android.mk b/samples/android/tutorial-4-opencl/jni/Android.mk index 7a1a6b5ced..fa44bf8c53 100644 --- a/samples/android/tutorial-4-opencl/jni/Android.mk +++ b/samples/android/tutorial-4-opencl/jni/Android.mk @@ -3,10 +3,18 @@ LOCAL_PATH := $(call my-dir) # add OpenCV include $(CLEAR_VARS) OPENCV_INSTALL_MODULES:=on -ifeq ($(O4A_SDK_ROOT),) - include ../../sdk/native/jni/OpenCV.mk +ifdef OPENCV_ANDROID_SDK + ifneq ("","$(wildcard $(OPENCV_ANDROID_SDK)/OpenCV.mk)") + include ${OPENCV_ANDROID_SDK}/OpenCV.mk + else + include ${OPENCV_ANDROID_SDK}/sdk/native/jni/OpenCV.mk + endif else - include $(O4A_SDK_ROOT)/sdk/native/jni/OpenCV.mk + include ../../sdk/native/jni/OpenCV.mk +endif + +ifndef OPENCL_SDK + $(error Specify OPENCL_SDK to Android OpenCL SDK location) endif # add OpenCL diff --git a/samples/android/tutorial-4-opencl/jni/CLprocessor.cpp b/samples/android/tutorial-4-opencl/jni/CLprocessor.cpp index 6d843acdd3..dcad18e267 100644 --- a/samples/android/tutorial-4-opencl/jni/CLprocessor.cpp +++ b/samples/android/tutorial-4-opencl/jni/CLprocessor.cpp @@ -3,7 +3,8 @@ #include -#include +#include +#include #include #include "common.hpp" diff --git a/samples/android/tutorial-4-opencl/jni/GLrender.cpp b/samples/android/tutorial-4-opencl/jni/GLrender.cpp index 194fc4f915..05b796ff36 100644 --- a/samples/android/tutorial-4-opencl/jni/GLrender.cpp +++ b/samples/android/tutorial-4-opencl/jni/GLrender.cpp @@ -1,7 +1,8 @@ #include #include -#include +#include +#include #include "common.hpp"