Foros del Web » Programando para Internet » PHP »

PHP OCR con tesseract

Estas en el tema de PHP OCR con tesseract en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/03/2010, 16:45
Avatar de 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
  #2 (permalink)  
Antiguo 01/03/2010, 19:27
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP OCR con tesseract

la verdad que no se como sera en PHP pero yo actualmente lo uso en C# y renegue bastante para que me funcionara.
en este grupo me solucionaron algunas dudas, eso si, en ingles.
http://groups.google.com/group/tesseract-ocr?hl=en&pli=1

Algo que tambien te recomiedo es que controles es el tema de la concurrencia, ya que estas en una aplicacion web, por que en mi aplicacion cuando dos hilos se encontraban tratando de usarlo reventaba.

Saludos
  #3 (permalink)  
Antiguo 01/03/2010, 21:33
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 15 años
Puntos: 7
Respuesta: PHP OCR con tesseract

Dejame revisarlo... Seguro luego tendré que verificar todo, de momento sólo quiero que me funcione y me genere el txt que necesito, luego entrare en "hondurass..."

Etiquetas: ocr
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:22.