[英]Compile OpenALPR for Android with NDK
這是為android編譯庫的指南:
用於為Android設備編譯OpenALPR的教程
[第0步]
[第1步]
[第2步]
[第3步]
下載並安裝Android CMake項目( https://code.google.com/p/android-cmake/ )您最終應該使用工具鏈來生成Android項目。 如果你必須選擇使用哪個編譯器,我推薦使用gcc4.6,因為我沒有使用指向gcc4.8編譯器的工具鏈來編譯OpenALPR ...
在/ opt中創建一個指向android-toolchain文件夾的符號鏈接(即:sudo ln -s PATH_TO_ANDROID_TOOLCHAIN / opt / android-toolchain)。 (Android-toolchain文件夾是在部署Android CMake項目期間生成的!)
[第四步]
轉到src目錄並編輯CMakeLists.txt文件:
然后注釋該部分以生成alprd(或只是刪除它):
在基於Unix的操作系統上編譯alprd庫
IF(不是WIN32)ADD_EXECUTABLE(alprd daemon.cpp videobuffer.cpp守護進程/ beanstalk.c守護進程/ beanstalk.cc守護進程/ uuid.cpp)
TARGET_LINK_LIBRARIES(alprd openalpr支持uuid curl log4cplus $ {OpenCV_LIBS} $ {Tesseract_LIBS})ENDIF()
打開CMake
應該沒有任何錯誤,但有些警告......沒關系
[第5步]
一切都應該順利編譯。 您可以在openalpr-master / src / libs / armeabi-v7a中找到alpr庫
這就是全部,讓我知道你的成功和失敗,我會盡力幫助你
如果您仍在尋求實現它,請按照以下步驟在Android設備上使用OpenAlpr:
我在Windows 8.1和Ubuntu 13.10 / 14.04上試過它,兩者都很完美
這些是構建庫的主要步驟,您還需要編寫一個Android.mk文件來使用該庫。
如果您有興趣(或其他任何人)讓我知道,我會寫一個正確的一步一步的教程
是的,它應該是可能的。 您需要首先獲得Android版本的OpenCV和Tesseract設置。 但是一旦完成,OpenALPR應該在Android下干凈利落地編譯。
我懷疑在手機上性能不會很好。 車牌識別是一個計算密集型過程。
這是我使用的Android.mk內容:
LOCAL_PATH := $(call my-dir)
LIB_PATH := $(LOCAL_PATH)/../libs/armeabi-v7a
include $(CLEAR_VARS)
LOCAL_MODULE := leptonica
LOCAL_SRC_FILES := liblept.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := tesseract
LOCAL_SRC_FILES := libtess.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := simpleini
LOCAL_SRC_FILES := libsimpleini.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := support
LOCAL_SRC_FILES := libsupport.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := openalpr
LOCAL_SRC_FILES := libopenalpr-static.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
OPENCV_INSTALL_MODULES:=on
OPENCV_CAMERA_MODULES:=off
include path_to_opencv4android/OpenCV.mk
LOCAL_MODULE := nativealpr
LOCAL_SRC_FILES := NativeAlpr.cpp
LOCAL_SHARED_LIBRARIES += tesseract leptonica
LOCAL_STATIC_LIBRARIES += openalpr support simpleini
include $(BUILD_SHARED_LIBRARY)
這是Application.mk
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
在Android.mk文件中,NativeAlpr.cpp文件包含使用OpenALPR庫所需的本機代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.