Skip to content

Commit

Permalink
Add 'tesseract-ios-lib/' from commit '119c71c8af4a76fa97623dc0de3d622…
Browse files Browse the repository at this point in the history
…8d23631b7'

git-subtree-dir: tesseract-ios-lib
git-subtree-mainline: e33ba41
git-subtree-split: 119c71c
  • Loading branch information
ldiqual committed Feb 28, 2014
2 parents e33ba41 + 119c71c commit 82e34f6
Show file tree
Hide file tree
Showing 147 changed files with 28,209 additions and 0 deletions.
1 change: 1 addition & 0 deletions tesseract-ios-lib/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
27 changes: 27 additions & 0 deletions tesseract-ios-lib/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Tesseract Lib for iOS
=====================


About
-----

This project contains only the [leptonica](http://www.leptonica.com/download.html) and [tesseract-ocr](http://code.google.com/p/tesseract-ocr/) libraries compiled for iOS.

There is no support for armv6, so it won't work with iPhone 1st Gen and iPhone 3G.


Usage
-----

You might want to use this [tesseract-ios](https://github.com/ldiqual/tesseract-ios) to include Tesseract in your iOS project. For a more advanced usage, you can use the raw library with regular C++ code.

Don't forget to rename your implementation classes with `.mm` instead of `.m` as it uses C++ code.


Code Sample
-----------

Follow [this blog post](http://tinsuke.wordpress.com/2011/11/01/how-to-compile-and-use-tesseract-3-01-on-ios-sdk-5/) for more informations.



2,245 changes: 2,245 additions & 0 deletions tesseract-ios-lib/include/leptonica/allheaders.h

Large diffs are not rendered by default.

60 changes: 60 additions & 0 deletions tesseract-ios-lib/include/leptonica/alltypes.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*====================================================================*
- Copyright (C) 2001 Leptonica. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials
- provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*====================================================================*/

#ifndef LEPTONICA_ALLTYPES_H
#define LEPTONICA_ALLTYPES_H

/* Standard */
#include <stdio.h>
#include <stdlib.h>

/* General and configuration defs */
#include "environ.h"

/* Imaging */
#include "array.h"
#include "arrayaccess.h"
#include "bbuffer.h"
#include "bmf.h"
#include "ccbord.h"
#include "dewarp.h"
#include "gplot.h"
#include "heap.h"
#include "imageio.h"
#include "jbclass.h"
#include "list.h"
#include "morph.h"
#include "pix.h"
#include "ptra.h"
#include "queue.h"
#include "regutils.h"
#include "sudoku.h"
#include "stack.h"
#include "watershed.h"


#endif /* LEPTONICA_ALLTYPES_H */

163 changes: 163 additions & 0 deletions tesseract-ios-lib/include/leptonica/array.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
/*====================================================================*
- Copyright (C) 2001 Leptonica. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials
- provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*====================================================================*/

#ifndef LEPTONICA_ARRAY_H
#define LEPTONICA_ARRAY_H

/*
* Contains the following structs:
* struct Numa
* struct Numaa
* struct Numa2d
* struct NumaHash
* struct L_Dna
* struct L_Dnaa
* struct Sarray
* struct L_Bytea
*
* Contains definitions for:
* Numa interpolation flags
*/


/*------------------------------------------------------------------------*
* Array Structs *
*------------------------------------------------------------------------*/

#define NUMA_VERSION_NUMBER 1

/* Number array: an array of floats */
struct Numa
{
l_int32 nalloc; /* size of allocated number array */
l_int32 n; /* number of numbers saved */
l_int32 refcount; /* reference count (1 if no clones) */
l_float32 startx; /* x value assigned to array[0] */
l_float32 delx; /* change in x value as i --> i + 1 */
l_float32 *array; /* number array */
};
typedef struct Numa NUMA;


/* Array of number arrays */
struct Numaa
{
l_int32 nalloc; /* size of allocated ptr array */
l_int32 n; /* number of Numa saved */
struct Numa **numa; /* array of Numa */
};
typedef struct Numaa NUMAA;


/* Sparse 2-dimensional array of number arrays */
struct Numa2d
{
l_int32 nrows; /* number of rows allocated for ptr array */
l_int32 ncols; /* number of cols allocated for ptr array */
l_int32 initsize; /* initial size of each numa that is made */
struct Numa ***numa; /* 2D array of Numa */
};
typedef struct Numa2d NUMA2D;


/* A hash table of Numas */
struct NumaHash
{
l_int32 nbuckets;
l_int32 initsize; /* initial size of each numa that is made */
struct Numa **numa;
};
typedef struct NumaHash NUMAHASH;


#define DNA_VERSION_NUMBER 1

/* Double number array: an array of doubles */
struct L_Dna
{
l_int32 nalloc; /* size of allocated number array */
l_int32 n; /* number of numbers saved */
l_int32 refcount; /* reference count (1 if no clones) */
l_float64 startx; /* x value assigned to array[0] */
l_float64 delx; /* change in x value as i --> i + 1 */
l_float64 *array; /* number array */
};
typedef struct L_Dna L_DNA;


/* Array of double number arrays */
struct L_Dnaa
{
l_int32 nalloc; /* size of allocated ptr array */
l_int32 n; /* number of L_Dna saved */
struct L_Dna **dna; /* array of L_Dna */
};
typedef struct L_Dnaa L_DNAA;


#define SARRAY_VERSION_NUMBER 1

/* String array: an array of C strings */
struct Sarray
{
l_int32 nalloc; /* size of allocated ptr array */
l_int32 n; /* number of strings allocated */
l_int32 refcount; /* reference count (1 if no clones) */
char **array; /* string array */
};
typedef struct Sarray SARRAY;


/* Byte array (analogous to C++ "string") */
struct L_Bytea
{
size_t nalloc; /* number of bytes allocated in data array */
size_t size; /* number of bytes presently used */
l_int32 refcount; /* reference count (1 if no clones) */
l_uint8 *data; /* data array */
};
typedef struct L_Bytea L_BYTEA;


/*------------------------------------------------------------------------*
* Array flags *
*------------------------------------------------------------------------*/

/* Flags for interpolation in Numa */
enum {
L_LINEAR_INTERP = 1, /* linear */
L_QUADRATIC_INTERP = 2 /* quadratic */
};

/* Flags for added borders in Numa and Fpix */
enum {
L_CONTINUED_BORDER = 1, /* extended with same value */
L_SLOPE_BORDER = 2, /* extended with constant normal derivative */
L_MIRRORED_BORDER = 3 /* mirrored */
};


#endif /* LEPTONICA_ARRAY_H */
Loading

0 comments on commit 82e34f6

Please sign in to comment.