2011-10-10 2 views
1

나는 안드로이드 용 OCR을 만들려고하고있었습니다. 나는 그것을 시작하지 않았지만, 나는 구글에서 많은 것을 검색했다 &이 문제를 해결하기 위해 합당한 답을 찾지 못했다. 최근 안드로이드 OpenCV 프로젝트에 관해 알게되었다. 이제 시작하기에 대한 힌트를 찾고 있습니다. 제발 옳은 길을 제안 해 주시겠습니까?OCR Android에서 OpenCV 사용

답변

2

1) Android 용 OCR에 대해 어떻게 생각하세요?

내가 인터넷에서 발견 한 두 가지 방법이 있습니다.

a) Tesseract 사용 - Tesseract는 Google에서 관리하며 git에서 호스팅됩니다. 다운로드 및 빌드 지침은 인터넷에서 사용할 수 있습니다 ("rmtheis tesseract"로 google 검색, 첫 번째 링크 따라). 다음은 쉬운 참조를위한 빠른 단계입니다.

git clone git://github.com/rmtheis/tess-two tess 
    cd tess 
    cd tess-two 
    ndk-build 

나는 ANT를 사용하지 않았지만 Eclipse에서 내 자신의 APK 프로젝트를 만들고 샘플 코드를 가져 와서 라이브러리를 테스트했습니다.

시스템에 우분투가 설치되어 있습니다. 위의 지시 사항에 아무런 문제가 없었습니다. git 클라이언트를 설치하고 위의 단계를 수행하는 것이 더 쉽다는 것을 알게되었습니다. tesseract 라이브러리가 구축되면이 라이브러리를 Android 애플리케이션에로드 한 다음 애플리케이션에서 API를 사용해야합니다. 그물에 사용할 수있는 샘플이 많이 있으며 사용하기가 쉽습니다.

b) openCV 사용 - open cv 및 creat OCR 기능을 사용할 수 있습니다. OpenCV 명령어는 길다. 그러나이 지침을 올바르게 따르면, Open CV 라이브러리를 빌드하고 Android 애플리케이션에서 정적 라이브러리를 사용할 수 있습니다.

openCV 라이브러리를 작성하려면 CMAKE가 필요합니다. CMAKE에는 3 가지 다른 종속성이 있습니다. 그러나 지침을 정확히 따라야 만 openCV를 구축하는 것이 어렵지 않습니다.

http://code.opencv.org/projects/opencv/wiki/Building_OpenCV4Android_from_trunk

나는 OpenCV의 손 쓰기를 인식하는 좋은 OCR 동안 기반 글꼴 사용하기 쉬운 정팔 포체을 발견했다.

2) 시작 위치?

openCV 및 tesseract에는 모두 샘플 디렉토리가 있습니다. 이 샘플은 셀프 스타터 키트입니다. OCR을 작성하는 openCV 핸드에 대한 추가 예제는 "OCR with openCV"키워드로 google에서 검색하십시오. Google 검색의 처음 두 경기는 매우 좋은 참조 점입니다.

위의 설명이 도움이됩니다.

편집 :

당신이 오라클 JDK 7은 사용자의 시스템에 설치되어있는 경우 내 경우와 같이, 당신은 문제로 실행 할 수 있습니다. 이러한 문제를 해결하기 위해 /usr/share/cmake-2.8/Modules/FindJNI.cmake 파일을 편집해야했습니다. 이 파일에서 openjdk 및 default에 대한 참조와 함께 줄을 주석 처리하고 아래 표시된 것처럼 oracle jdk 7을 추가했습니다.

JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES 
    ${_JAVA_HOME}/jre/lib/{libarch} 
    ${_JAVA_HOME}/jre/lib 
    ${_JAVA_HOME}/lib 
    ${_JAVA_HOME} 
    /usr/lib 
    /usr/local/lib 
    /usr/lib/jvm/java/lib 
    /usr/lib/java/jre/lib/{libarch} 
    /usr/lib/jvm/jre/lib/{libarch} 
    /usr/local/lib/java/jre/lib/{libarch} 
    /usr/local/share/java/jre/lib/{libarch} 
    /usr/lib/j2sdk1.4-sun/jre/lib/{libarch} 
    /usr/lib/j2sdk1.5-sun/jre/lib/{libarch} 
    /opt/sun-jdk-1.5.0.04/jre/lib/{libarch} 
    /usr/lib/jvm/java-6-sun/jre/lib/{libarch} 
    /usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch} 
    /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch}  # can this one be removed according to #8821 ? Alex 
    #/usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}  # Commented by Atul 
    #/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch}  # fedora 
    # Debian specific paths for default JVM 
    #/usr/lib/jvm/default-java/jre/lib/{libarch}  # Commented by Atul 
    #/usr/lib/jvm/default-java/jre/lib   # Commented by Atul 
    #/usr/lib/jvm/default-java/lib    # Commented by Atul 
    # OpenBSD specific paths for default JVM 
    /usr/local/jdk-1.7.0/jre/lib/{libarch} 
    /usr/local/jre-1.7.0/lib/{libarch} 
    /usr/local/jdk-1.6.0/jre/lib/{libarch} 
    /usr/local/jre-1.6.0/lib/{libarch} 
    /usr/lib/jvm/java-7-oracle/jre/lib/{libarch} # This is added Atul 
) 

및 스크립트가 포함되는 섹션에서 ...

set(JAVA_AWT_INCLUDE_DIRECTORIES 
    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include" 
    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include" 
    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include" 
    ${_JAVA_HOME}/include 
    /usr/include 
    /usr/local/include 
    /usr/lib/java/include 
    /usr/local/lib/java/include 
    /usr/lib/jvm/java/include 
    /usr/lib/jvm/java-6-sun/include 
    /usr/lib/jvm/java-1.5.0-sun/include 
    /usr/lib/jvm/java-6-sun-1.6.0.00/include  # can this one be removed according to #8821 ? Alex 
    #/usr/lib/jvm/java-6-openjdk/include 
    /usr/local/share/java/include 
    /usr/lib/j2sdk1.4-sun/include 
    /usr/lib/j2sdk1.5-sun/include 
    /opt/sun-jdk-1.5.0.04/include 
    # Debian specific path for default JVM 
    #/usr/lib/jvm/default-java/include 
    # OpenBSD specific path for default JVM 
    /usr/local/jdk-1.7.0/include 
    /usr/local/jdk-1.6.0/include 
    /usr/lib/jvm/java-7-oracle/include 
) 

는 그럼 난 ...

안드로이드를위한 OpenCV의 구축 정확한 지침을 따랐