border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 17-08-2005, 16:02:42
Avatar de cee
cee cee is offline
Buena Participación en el Foro
 
Registrado: ago 2005
Posts: 49
cee Valoración +2
Predeterminado informacion orden aleatorio

matrices saber la posicion
Responder Con Cita
  #2 (permalink)  
Antiguo 17-08-2005, 18:05:57
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.197
acalanto ha deshabilitado la reputación
Predeterminado

Lo que pides es un reconocedor óptico de patrones o lo que es lo mismo un OCR.

Lo que te voy a comentar es una aproximación que probablemente pueda servirte.

VBasic dispone de un método POINT en los controles PictureBox que permiten capturar el color de un pixel de control definido por sus coordenadas (x, y).

Conocido esto, sabiendo que el valor de color es 0 para negro, &HFFFF para el blanco y suponiendo que conoces de antemano la posición de las posibles marcas de la encuesta, puedes realizar un bucle que escanée esos cuadrados y determine cuanto se aproxima al blanco y cuanto al negro.

Mediante esto puedes realizar una serie de pruebas hasta afinar el algorítmo de reconocimiento.

Por poner un ejemplo y suponiendo que uno de los cuadros de marca se encuentra situado en x=100; y=100 y tiene una dimensión en píxeles de 20x20


Código:
Public Function Marca(x1 as long, y1 as long, x2 as long, y2 as long) as boolean
    dim patron as double
    dim i as long, j as long
    for i = x1 to x2
        for j=y1 to y2
            patron = patron + me.Picture.pont(i,j)
        next j
    next i 
    if int(patron/400) < 15000 then Marca=true else Marca=false
end Function

Si esto no te resulta válido, tendrás que buscar algún comoponente OCR existente en el mercado.


PD: Tienes que pensar que el código es un ejemplo, no tiene porque funcionar 'tal como está' y desde luego será necesario que calibres correctamente la cifra que diferencia algo que se aproxima al blanco o al negro. (Esto es importante pues la imágen puede contener 'ruido' y como con cualquier OCR, tendrás que aceptar un margen de error).
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 18-08-2005, 18:55:10
Avatar de cee
cee cee is offline
Buena Participación en el Foro
 
Registrado: ago 2005
Posts: 49
cee Valoración +2
Predeterminado reconocer

por ejemplo esta foto que envio

como saber cuales fueron marcados

que preguntas fueron respondidas'?


en que posicion esta la respuesta
Imágenes Adjuntas
Tipo de Archivo: jpg dibujo_363.jpg (11,2 KB, 169 visitas)
Responder Con Cita
  #4 (permalink)  
Antiguo 19-08-2005, 05:56:24
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.197
acalanto ha deshabilitado la reputación
Predeterminado

Bueno, creo que ese dato esres tú el que debe determinarlo. Me imagino que los formularios de encuesta serán todos idénticos en lo referente a la posición de sus elementos.

Debes calcular que, para el formulario tipo 'A' los recuadros de respuesta se encuentran situados en
x1, y1
x2, y2
x3, y3
........
........
x4, y4

y éstas son las áreas a escanear.

Si tengo tiempo a la noche trato de hacerte un ejemplo.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 20-08-2005, 09:21:41
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.197
acalanto ha deshabilitado la reputación
Predeterminado

Te adjunto un pequeño proyecto que te muestra como escanear una imágen y detectar sombras y claros. Lo único que debes tener es un catálogo de formularios con las posiciones de las áreas en las que se debe aplicar el proceso de escáner y todo esto, lógicamente, te lo tendrás que trabajar un poquito.

El resto, lo tienes en la función 'scan'.

Espero que te resulte útil.
Archivos Adjuntos
Tipo de Archivo: zip esc_ner_cee.zip (35,0 KB, 8 visitas)
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #6 (permalink)  
Antiguo 23-08-2005, 17:34:10
Avatar de cee
cee cee is offline
Buena Participación en el Foro
 
Registrado: ago 2005
Posts: 49
cee Valoración +2
Predeterminado recorrer las imagenes

gracias por tu ayuda

trabajare duro para ver que tu ayuda no fue en vano cualquier cosa te aviso gracias
Responder Con Cita
  #7 (permalink)  
Antiguo 23-08-2005, 21:14:23
Avatar de cee
cee cee is offline
Buena Participación en el Foro
 
Registrado: ago 2005
Posts: 49
cee Valoración +2
Predeterminado duda

ahora que reconoze sombras y claros

mi duda esta en como saber a que respuesta pertenece que
pregunta??

y si hubiera en una hojas 2 veces la misma pregunta como distinguirlas una de otra

si por ejemplo ??

si se evalua en la misma hoja ados personas es decir evaluar a varias personas en una misma encuesta y poder diferenciar
sus respuestas???

gracias


patch_@msn.com
Responder Con Cita
  #8 (permalink)  
Antiguo 23-08-2005, 21:30:41
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.197
acalanto ha deshabilitado la reputación
Predeterminado

Vamos por partes.

a) Sabrás a que pregunta corresponde una respuesta por la posición en el formulario.

b) Si en un mismo formularo existen respuestas duplicadas del mismo orden de cosas, es que el formulario está evidentemente mal diseñado.

c) No conozco ningún formulario de encuesta en el que se evalúe a dos personas al mismo tiempo pues estadísticamente hablando, falseas el universo.

Si tienes diferentes formularios para realizar un trabajo de campo de diferentes conjuntos, tendrás que tener un patrón para cada uno de ellos y en el momento de escanerlos, tendrás que indicar a la aplicación el tipo de formulario.

El código que te he posteado pretende mostrarte como se puede 'rastrear' o escanear una imágen. No cabe la menor duda que es un código sencillo que lo único que pretende es mostrar la técnica, ahora bien, si lo que pretendes es introducir en un escáner un documento y que la aplicación lo realice todo automáticamente, tienes mucho trabajo y muy duro por delante.

En tu lugar trataría de hacerme con un componente OCR (Los bueno suelen ser de pago) porque tratar de hacerlo tú mismo, en la medida que parece que necesitas, vas a necesitar un equipo de desarrollo y muchos conocimientos.

En primer lugar deberías tener un buen diseño de formularios, una estrategia de como realizar las encuestas, un protocolo de como rellenar la información que al encuestador le transmiten; Por otra parte codificar adecuadamente cada uno de los trabajos de campo, insertar en los formularios un código de barras (o cualquier otro tipo) que permita identificar el proyecto.... en fin un trabajo que me parece más allá de las posibilidades de muchas empresas (Incluso de grandes empresas).

Me resuerda lo que pretendes al sistema de evaluación de votos en las elecciones de EE.UU. (A pesar de que tuvieron bastantes errores en el recuento).


No se me ocurre mejor consejo que el que te estoy dando.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Orden de ejecución de sentencias SQL Scherzo Visual Basic 6.00 10 10-07-2006 08:42:48
generar valores aleatorio armando Visual Basic 6.00 2 09-05-2006 18:54:13
Problemas con archivo aleatorio Chileno123456 Visual Basic 6.00 1 17-09-2004 00:00:00
Pierdo orden de las conexiones Locodelcraneo Visual Basic 6.00 6 17-09-2004 00:00:00
Orden de eventos zambito Visual Basic 6.00 3 30-03-1970 23:51:15


La franja horaria es GMT. Ahora son las 23:25:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right