8

次のxcodeで使用するためにtesseractをコンパイルしました:http://iphone.olipion.com/cross-compilation/tesseract-ocr

.a ファイルを取得し、それをフレームワークとして iphone プロジェクトにインポートし、tesseract ヘッダー ファイルのヘッダー検索パスを更新します。

ですから、始めるには簡単な例が必要です。http://code.google.com/p/tesseract-ocr/ またはグーグルで何も見つかりません。

誰でも私に出発点(コードスニペット)を教えてくれます..?! どうもありがとう!

-- 後でこのコードを見つけました:

#include "baseapi.h"


TessBaseAPI::InitWithLanguage(NULL, NULL, language, NULL, false, 0, NULL); char* text = TessBaseAPI::TesseractRect(imagedata, bytes_per_pixel, bytes_per_line, 0, 0, width, height); TessBaseAPI::End();


しかし、デバイス用にコンパイルしようとすると (上記のコードなしで include ステートメントを挿入するだけです)、次のようになります:

エラー: 'PAGE_RES' 警告の前の構文エラー: 'PAGE_RES' の宣言では、型のデフォルトは 'int' です 警告: データ定義に型またはストレージ クラスがありません

BLOCK_LIST、IMAGE などと同様です。


シミュレーター用にコンパイルすると、

エラー: 'PAGE_RES' の前に'=',',',','asm' または ' attribute ' が必要です

--- その他の更新: インクルードの問題の解決策を見つけました: インクルードが発生する場所では、.mm 拡張子の file.m の名前を変更する必要があります。

4

2 に答える 2

11

http://github.com/nolanbrown/Tesseract-iPhone-Demo

OCRDemoは、Tesseractライブラリ(http://code.google.com/p/tesseract-ocr/)を、http://robertcarlsen.netにあるシェルスクリプトを使用してMacOS10.6でコンパイルされた静的ライブラリとして利用するデモアプリケーションです。 / 2009/07/15/cross-compiling-for-iphone-dev-884

このプログラムは、OCRライブラリのデモンストレーションを提供することのみを目的としており、iPhoneでの機能であり、プログラムは最適化されていません...

于 2010-03-08T08:41:44.803 に答える
2

SDKROOTCPPFLAGSおよびCXX 変数を更新する必要があります。たとえば、ビルド スクリプトの関連部分を 4.0 で動作するように変更すると、次のようになります。

export SDKROOT=$DEVROOT/SDKs/iPhoneOS4.0.sdk
export PATH=$DEVROOT/usr/bin:$PATH
# Set up relevant environment variables
export CPPFLAGS="-I$SDKROOT/usr/lib/gcc/arm-apple-darwin10/4.0.1/
include/ -I$SDKROOT/usr/include/ -miphoneos-version-min=4.0"
export CFLAGS="$CPPFLAGS -arch armv6 -pipe -no-cpp-precomp -isysroot
$SDKROOT"
export CPP="$DEVROOT/usr/bin/cpp $CPPFLAGS"
export CXXFLAGS="$CFLAGS"

Unix パッケージによって生成された動的ライブラリの場所

 LIBPATH=$LIBFILE.dylib
    LIBNAME=`basename $LIBPATH`

export LDFLAGS="-L$SDKROOT/usr/lib/ -Wl,-
dylib_install_name,@executable_path/$LIBNAME"

ARM 用に生成される静的ライブラリ

LIBPATH_static=$LIBFILE.a
LIBNAME_static=`basename $LIBPATH_static`
# TODO: add custom flags as necessary for package
./configure CXX=$DEVROOT/usr/bin/arm-apple-darwin10-g++-4.0.1 CC=
$DEVROOT/usr/bin/arm-apple-darwin10-gcc-4.0.1 LD=$DEVROOT/usr/bin/ld --host=arm-apple-darwin
于 2010-10-21T04:42:37.327 に答える