开发者

Tesseract Example for Iphone

I have compiled tesseract for using it in xcode following: http://iphone.olipion.com/cross-compilation/tesseract-ocr

I obtain the .a file, import it as framework in the iphone project, and update the header search path for tesseract header files.

So now I need a simple example in order to get start. I can't find anything in http :// code.google.co开发者_高级运维m/p/tesseract-ocr/ or by googling.

Anyone can help me give me a starting point (a code snippet)..?! Many ThankS!

-- Later i found this code:

#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();


but when I try to compile for device (only inserting include statement without the code above) i get the following:

error:syntax error before 'PAGE_RES' warning:type defaults to 'int' in declaration of 'PAGE_RES' warning:data definition has no type or storage class

and so on with BLOCK_LIST, IMAGE etc.


if compile for simulator i get

error: expected '=',',',','asm' or 'attribute' before 'PAGE_RES' and so on with BLOCK_LIST, IMAGE and TessBaseAPI

--- Other Update: I found solution for include problem: Where the include occurs must be rename the file.m in .mm extension because we have to tell xcode that we have to use objective-c and c++ together.


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

OCRDemo is a demo application that utilizes the Tesseract library (http://code.google.com/p/tesseract-ocr/) as a static library compiled under Mac OS 10.6 using the shell script found at http://robertcarlsen.net/2009/07/15/cross-compiling-for-iphone-dev-884.

The program is only meant to provide a demonstration of the OCR library and it’s abilities on the iPhone, the program is not optimized in any way...


you'll need to update SDKROOT, CPPFLAGS and CXX variables. For example, here's the relevant part of my build script, modified to work with 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"

Dynamic library location generated by the Unix package

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

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

Static library that will be generated for 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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜