Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2010, 16:45
Avatar de egepe
egepe
 
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 15 años
Puntos: 7
PHP OCR con tesseract

Estimados es mi primera pregunta sigo este foro desde hace un año y bastante que me ha ayudado. Mi planteamiento es el siguiente:

Tengo un proyecto en el que necesito leer imagenes de documentos y subir el contenido a una base de datos documental (inicialmente trabajo con MySQL), leyendo e investigando por ahi encuentro que no hay ninguna clase, librería o funcion en PHP que haga esto adecuadamente.

Encontre tesseract de google (hecha en C++) que en teoría se puede integran a PHP vía exec o directamente, pero de verdad no encuentro cómo. Además tesseract para español hay que "entrenarlo" y eso hace más complicado todo.

Tengo que compilar tesseract con visual c++ express edition 2008.

No sé si alquien haya ya trabajado con esto pero de verdad que no encuentro primeramente como hacer para que tesseract funcione en mi ambiente:

Trabajo aquí con:

1)apache 2.2.14
2)php 5.3.
3)mysql 5.1.40
4) Con windows vista (lo siento)

Por ahí encontre un programa que en teoría resuelve esto en php+tesseract pero no he logrado que corra.

que paso a colocar aqui manteniendo los creditos del amigo peter que fue quien me lo paso


<?php
/*
Tesseract WEB GUI
Author: Pavel Kirpichyov (c) 2008
*/
require 'config.php';
$language = array('eng' => true, 'fra' => true);
$result = false;
if(isset($_POST['submit']))
{
$uploaddir = 'file:///C|/Users/Ernesto/Downloads/';
$name = md5(basename($_FILES['file']['name'])).'_'.time().'';
$uploadfile = $uploaddir . $name;
$alang = isset($language[$_POST['lang']]) ? $_POST['lang'] : 'eng';
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
{
$aa = exec(sprintf("%s %s %s -l %s", $tesseract_bin, $uploadfile, $uploadfile, $alang));
$result = file_get_contents($uploadfile.'.txt');
$error = 0;
}
else
{
$error = 1;
}
}
?><html>
<head>
<title>Tesseract Web GUI</title>
</head>
<body>
<fieldset>
<legend>Prepare</legend>
<form enctype="multipart/form-data" action="tesseract.php" method="post">
<table width="100%">
<tr>
<td>Select Image:</td>
<td><input type="file" name="file" /></td>
</tr>
<tr>
<td>Select language</td>
<td>
<select name="lang">
<option name="eng">Egnlish</option>
<option name="fra">French</option>
</select>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value=" Submit " /></td>
</tr>
</table>
</form>
</fieldset>
<?php
if($result)
{
print "<fieldset><legend>Result</legend>".$result."</fieldset>";
unlink($uploadfile);
unlink($uploadfile.'.txt');
}
?>
</body>
</html>

Y el config es:

<?php
$uploaddir = '/var/www/cs.fill.ee/tesseract/';
$tesseract_bin = '/usr/local/bin/tesseract';
?>

el correo del autor de este script es: [email protected]

Bueno si alquien puede echarme una mano, gracias de antemano...

Saludos a todos