Foros del Web » Programando para Internet » PHP »

OCR en PHP

Estas en el tema de OCR en PHP en el foro de PHP en Foros del Web. quiero hacer una pagina web donde el usuario pueda subir sus imagenes scaneadas y la pagina extraiga los textos... Primero comence bajando la clase PHP ...
  #1 (permalink)  
Antiguo 04/09/2008, 07:31
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Pregunta OCR en PHP

quiero hacer una pagina web donde el usuario pueda subir sus imagenes scaneadas y la pagina extraiga los textos...

Primero comence bajando la clase PHP OCR:
http://www.phpclasses.org/browse/package/2874.html

pero no me funciona y no se por que...

me da este error:
Fatal error: Class 'OCR' not found in C:\wamp\www\testsite\ocr\index.php on line 12


sin embargo miro y esta ahi el archivo...

Código PHP:

<?php
/**
 * Example, check images from file
 *
 * @author Andrey Kucherenko <[email protected]>
 * @package phpOCR
 */
include_once("config.php");
include_once(
"OCR.class.php");

//make new OCR object
$char = new OCR();

//Recognition process, check images from files
echo "<hr/><img src='M.png'/><br/>";
$res $char->Recognition('M.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='M1.png'/><br/>";
$res $char->Recognition('M1.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='z11.png'/><br/>";
$res $char->Recognition('z11.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='z1.png'/><br/>";
$res $char->Recognition('z1.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='Z.png'/><br/>";
$res $char->Recognition('Z.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='B.png'/><br/>";
$res $char->Recognition('B.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='B1.png'/><br/>";
$res $char->Recognition('B1.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='W.png'/><br/>";
$res $char->Recognition('W.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='W1.png'/><br/>";
$res $char->Recognition('W1.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}


echo 
"<hr/><img src='W2.png'/><br/>";
$res $char->Recognition('W2.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}

echo 
"<hr/><img src='plus1.png'/><br/>";
$res $char->Recognition('plus1.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}


?>
cual puede ser el problema?
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #2 (permalink)  
Antiguo 04/09/2008, 09:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: OCR en PHP

Cambia tus include_once por require_once para que te muestre PHP si puede o no cargar el archivo.

Saludos.
  #3 (permalink)  
Antiguo 04/09/2008, 21:42
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: OCR en PHP

Cita:
Iniciado por farra Ver Mensaje
a que puede deberse este problema?
A que quieres descargar e implementar sin antes leer y analizar cómo funciona. Considero un mensaje por intento fallido que haces es exagerado ... no tomas en cuenta que estás empleando una clase, que nadie (es muy poco probable) tienen por qué saber cómo funciona.

Como sea, le eché un ojo, miré los ejemplos y en menos de un minuto obtuve los resultados:
Cita:
Check "M"
We have 0 errors
It is "M"
... tu problema es que te estás saltando un ejemplo. Antes de que la clase reconozca los caracteres tú tienes que enseñarle (método Learn()); solo podrá reconocer las letras si previamente se le enseño ( entrete eso).

Entonces, la observación queda ahí. Suerte, parece entretenido el ejercicio
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 05/09/2008, 06:26
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
De acuerdo Respuesta: OCR en PHP

si, funciona perfecto como decis, acabo de probarlo y anda...

Código PHP:

<?php
/**
 * Example, learn OCR to recognition letters
 *
 * @author Andrey Kucherenko <[email protected]>
 * @package phpOCR
 */

include_once("config.php");
include_once(
"OCR.class.php");

//make new OCR object
$char = new OCR();

//method draw letter & learn system
$char->Learn("a");
$char->saveResult();
$char->Learn("b");
$char->saveResult();
$char->Learn("c");
$char->saveResult();
$char->Learn("d");
$char->saveResult();
$char->Learn("e");
$char->saveResult();
$char->Learn("f");
$char->saveResult();
$char->Learn("g");
$char->saveResult();
$char->Learn("h");
$char->saveResult();
$char->Learn("i");
$char->saveResult();
$char->Learn("j");
$char->saveResult();
$char->Learn("k");
$char->saveResult();
$char->Learn("l");
$char->saveResult();
$char->Learn("m");
$char->saveResult();
$char->Learn("n");
$char->saveResult();
$char->Learn("o");
$char->saveResult();
$char->Learn("p");
$char->saveResult();
$char->Learn("q");
$char->saveResult();
$char->Learn("r");
$char->saveResult();
$char->Learn("s");
$char->saveResult();
$char->Learn("t");
$char->saveResult();
$char->Learn("u");
$char->saveResult();
$char->Learn("v");
$char->saveResult();
$char->Learn("w");
$char->saveResult();
$char->Learn("x");
$char->saveResult();
$char->Learn("y");
$char->saveResult();
$char->Learn("z");
$char->saveResult();

$char->Learn("1");
$char->saveResult();
$char->Learn("2");
$char->saveResult();
$char->Learn("3");
$char->saveResult();
$char->Learn("4");
$char->saveResult();
$char->Learn("5");
$char->saveResult();
$char->Learn("6");
$char->saveResult();
$char->Learn("7");
$char->saveResult();
$char->Learn("8");
$char->saveResult();
$char->Learn("9");
$char->saveResult();



?><?php
/**
 * Example, check images from file
 *
 * @author Andrey Kucherenko <[email protected]>
 * @package phpOCR
 */
include_once("config.php");
include_once(
"OCR.class.php");

//make new OCR object
$char = new OCR();

//Recognition process, check images from files
echo "<hr/><img src='letras.png'/><br/>";
$res $char->Recognition('letras.png');
if (
$res!==false){
    echo 
"<b>".$res->getName()."</b>";
}else{
    echo 
"Not yet recognised.<br/>";
}


?>

ahora el siguiente problema...! me detecta perfecto cuando en la imagen hay 1 sola letra..


ejemplo: a
FUNCIONA!!!

pero si la imagen tiene mas de una letra, ejemplo:

no funciona...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #5 (permalink)  
Antiguo 05/09/2008, 08:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: OCR en PHP

Hola farra,

Si ves el manual en el metodo learn acepta un string, tu tienes que darle un string completo para que "aprenda", si le pasas caracter por caracter solo reconocera eso, un caracter.

Saludos.
  #6 (permalink)  
Antiguo 05/09/2008, 08:48
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: OCR en PHP

mmm... osea que si quiero que detecte abc, tengo que darle learn abc...?

pero asi no sirve... osea, que pasa si no sabes las palabras que van a aparecer en la imagen?
como haces, no puede detectar todas las letras que encuentra en la imagen?

los sistemas OCR del scaner pueden asi que no es imposible, pero como?
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #7 (permalink)  
Antiguo 05/09/2008, 10:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: OCR en PHP

Claro que puede, pero solamente si lo entrenas como bien te dice Jam, si lees la documentación de la clase, el autor exclama que la clase es basica en su funcionamiento, el poder real viene al tu entrenarla de la mejor manera.

Saludos.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 10:16.