OpenCV
https://opencv.org/releases.html
Installation
OSX
brew install opencv3 --with-ffmpeg --with-tbb --with-contrib
Trouble shooting
Fix tesseract problem.
brew install tesseract --with-all-languages
Fix libGL, libPng, libTIFF, libJPEG not found.
sudo ln -sf /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib /usr/local/lib/libGL.dylib
sudo ln -sf /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib /usr/local/lib/libpng.dylib
sudo ln -sf /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib /usr/local/lib/libtiff.dylib
sudo ln -sf /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib /usr/local/lib/libjpeg.dylib
Fix hdf5 problem.
brew reinstall --build-from-source octave
Android
Build SDK from sourece and WITH_EXTRA_MOUDLES
Sources
https://github.com/opencv/opencv https://github.com/opencv/opencv_contrib
Guide
http://yangchao.me/post/build-opencv-android-sdk/
Build with CLI
$ brew install cmake ninja ant
$ cd ~/OpenCV/Source/3.4.1/platforms/
$ ./build_sdk.py --ndk_path [NDK_PATH] --sdk_path [ANDROID_SDK_PATH] --extra_modules_path [EXTRA_MOUDLES_PATH] [DEST_PATH] [SOURCE_PATH]
$ cd [DEST_PATH]
$ make
$ make install
Build with CMake GUI
Open CMake GUI application.
Where is the source code : ~/OpenCV/Source/3.4.1
Where to build the binaries : ~/OpenCV/Source/3.4.1/platforms/android/build
Press configure button, and choose Specify toolchain file for cross-compiling,
and browse file ~/OpenCV/Source/3.4.1/platforms/android/android.toolchain.cmake
and press continue.
Then, find entity OPENCV_EXTRA_MOUDLES_PATH and set value to ~/OpenCV/Source/opencv_contrib
, and press generate.
$ cd ~/OpenCV/Source/3.4.1/platforms/android/build
$ make
android.mk
LOCAL_PATH := $(call my-dir)
OPENCV_ANDROID_SDK := ~/OpenCV/SDK/3.4.1
# add OpenCV
include $(CLEAR_VARS)
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
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
OPENCL_ANDROID_SDK := ~/OpenCL/SDK/1.2
ifndef OPENCL_SDK
#$(error Specify OPENCL_SDK to Android OpenCL SDK location)
endif
# add OpenCL
LOCAL_C_INCLUDES += $(LOCAL_PATH)
#Adreno OpenCL Lib
#LOCAL_LDLIBS += $(LOCAL_PATH)/../jniLibs/$(TARGET_ARCH_ABI)/libOpenCL.so
#Mali OpenCL Lib
#LOCAL_LDLIBS += $(LOCAL_PATH)/../jniLibs/$(TARGET_ARCH_ABI)/libGLES_mali.so
LOCAL_MODULE := OpenCVProcessor
LOCAL_SRC_FILES := jni.c OpenCVProcessor.cpp
LOCAL_LDLIBS += -llog -lGLESv2 -lEGL
include $(BUILD_SHARED_LIBRARY)