2010-02-25 9 views
8

tôi đã biên soạn Tesseract để sử dụng nó trong xcode sau: http://iphone.olipion.com/cross-compilation/tesseract-ocrTesseract Ví dụ cho Iphone

tôi có được file .a, nhập nó như khuôn khổ dự án iphone, và cập nhật các đường dẫn tìm kiếm tiêu đề cho tập tin tiêu đề Tesseract.

Vì vậy, bây giờ tôi cần một ví dụ đơn giản để bắt đầu. Tôi không thể tìm thấy bất kỳ điều gì trong http: // code.google.com/p/tesseract-ocr/ hoặc bằng cách googling.

Bất kỳ ai cũng có thể giúp tôi cho điểm bắt đầu (đoạn mã) ..?! Nhiều người cảm ơn!

- Sau đó tôi tìm thấy mã này:

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


nhưng khi tôi cố gắng biên dịch cho điện thoại (chỉ chèn bao gồm tuyên bố không có mã ở trên) tôi nhận được các thông tin sau:

lỗi: lỗi cú pháp trước cảnh báo 'PAGE_RES': type mặc định là 'int' trong tuyên bố cảnh báo 'PAGE_RES': định nghĩa dữ liệu không có loại hoặc lưu trữ lớp

và như vậy với BLOCK_LIST, IMAGE, vv


nếu biên dịch cho mô phỏng tôi nhận được

lỗi: dự kiến ​​'=', '', '' asm' hoặc 'thuộc tính' trước khi 'PAGE_RES' và như vậy với BLOCK_LIST, IMAGE và TessBaseAPI

--- Cập nhật khác: Tôi tìm thấy giải pháp cho sự cố bao gồm: Trường hợp xảy ra bao gồm phải đổi tên phần mở rộng tệp.m thành .mm vì chúng tôi phải thông báo cho xcode rằng chúng tôi phải sử dụng target-c và C++ cùng với nhau.

+0

Xin chào bạn đã nói rằng bạn đã vượt qua biên soạn tesseract bằng cách sử dụng blog đó. Tôi chỉ muốn biết những gì có nghĩa là nguồn tập tin cấu hình? –

+0

Bạn có biết cách quản lý tệp ngôn ngữ không. tức là nơi lưu tệp .traindata? Và chỉ .traindata tập tin đủ? hoặc chúng ta cần tất cả các tệp 7/8 khác? – karim

+0

Tại sao không biên dịch nó thành asm.js? Điều đó sẽ có thêm lợi ích khi có thể chạy trên lý thuyết * bất kỳ trình duyệt nào, miễn là nó không hết bộ nhớ. – NoBugs

Trả lời

2

bạn sẽ cần phải cập nhật SDKROOT, CPPFLAGSCXX biến. Ví dụ, đây là phần có liên quan của xây dựng kịch bản của tôi, sửa đổi để làm việc với 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" 

động vị trí thư viện được tạo ra bởi các gói Unix

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

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

thư viện tĩnh mà sẽ được tạo ra cho 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 
+1

Tôi đã không thể tìm thấy bất cứ nơi nào trong tài liệu của apple về env. vars. , nhu la ; -miphoneos-version-min = 4.0. Cũng là cờ tùy chỉnh; -host = arm-apple-darwin. Tài liệu này ở đâu? – RyBolt