Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Proyecto Con OCR
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Con OCR 
 
calcena escribió:  


Bueno el tema es que al no tener domicialiadas nóminas, los bancos, al menos en españa les cobra a las comunidades de vecinos pequeñas por conectarse a la banca online, y lo que se pretende es rebajar costes.

Saludos.


No se, no se. Yo creo que en la web del banco estan los movimientos listo para descargar sin coste, pero?, no te lo voy a discutir. vale.

Oye tu sabes algo de programación web?

Te lo digo por que lo que ves en pantalla lo puede capturar vía Javascript y pasarlo a XML para después pasarlo a tu base de datos como a ti te guste. Piensalo a lo mejor te vale y ahorras unos euritos a la comunidad y algunos quebraderos de cabeza a ti mismo.

Saludos, joven.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Con OCR 
 
gambafeliz escribió:  
calcena escribió:  


Bueno el tema es que al no tener domicialiadas nóminas, los bancos, al menos en españa les cobra a las comunidades de vecinos pequeñas por conectarse a la banca online, y lo que se pretende es rebajar costes.

Saludos.


No se, no se. Yo creo que en la web del banco estan los movimientos listo para descargar sin coste, pero?, no te lo voy a discutir. vale.

Oye tu sabes algo de programación web?

Te lo digo por que lo que ves en pantalla lo puede capturar vía Javascript y pasarlo a XML para después pasarlo a tu base de datos como a ti te guste. Piensalo a lo mejor te vale y ahorras unos euritos a la comunidad y algunos quebraderos de cabeza a ti mismo.

Saludos, joven.


Si, pero el problema es que no puedo acceder a la cuenta vía web, no se si es lo que me comentas, el tema es que a banca electrónica no se puede acceder, por tanto el tema Javascript ...caput.
Por otra parte mi idea era esa, escanear la cartilla en jpg y que algo me lo detecte.
La otra vertiente es apuntes manuales que es por donde tendré que tirar para poder avanzar en el proyecto.

Gracias a la ayuda de Terco  creo que podré hacer también una implementación para OCR.

Saludos.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Con OCR 
 
tercoIDE escribió:  
Puedes usar librerias externas y evitar la llamada Shell


De tu código, escribí un pequeño programa de línea de comandos.
Tuve pero que ajustar algunas cosas.

Public Struct Pix
  w As Integer
  h As Integer
  d As Integer
  wpl As Integer
  refcount As Integer
  xres As Integer
  yres As Integer
  informat As Integer
  text As Pointer
  colormap As Pointer
  data As Pointer
End Struct


Library "libtesseract:4.0.0"

' TessBaseAPI* TessBaseAPICreate()
Private Extern TessBaseAPICreate() As Pointer

' int TessBaseAPIInit3(TessBaseAPI* handle, const char* datapath, const char* language)
Private Extern TessBaseAPIInit3(handle As Pointer, datapath As String, language As String) As Integer

' void TessBaseAPISetImage2(TessBaseAPI* handle, struct Pix* pix)
Private Extern TessBaseAPISetImage2(handle As Pointer, pix As Pix)

' void TessBaseAPISetSourceResolution(TessBaseAPI* handle, int ppi)
Private Extern TessBaseAPISetSourceResolution(handle As Pointer, ppi As Integer)

' int TessBaseAPIRecognize(TessBaseAPI* handle, ETEXT_DESC* monitor)
Private Extern TessBaseAPIRecognize(handle As Pointer, monitor As Pointer) As Integer

' char* TessBaseAPIGetUTF8Text(TessBaseAPI* handle)
Private Extern TessBaseAPIGetUTF8Text(handle As Pointer) As String

' void TessBaseAPIEnd(TessBaseAPI* handle)
Private Extern TessBaseAPIEnd(handle As Pointer)

' void TessBaseAPIDelete(TessBaseAPI* handle)
Private Extern TessBaseAPIDelete(handle As Pointer)


Library "liblept:5.0.2"

' PIX * pixRead (const char *filename)
Private Extern pixRead(filename As String) As Pix

' void pixDestroy (PIX **ppix)
private Extern pixDestroy(ppix As Pointer)


Public Sub Main()

  Dim err As Integer
  Dim tes As Pointer
  Dim pis As Pix
  Dim s As String
  
  pis = pixRead("/ruta/del/archivo/imagen/del/texto")
  
  tes = TessBaseAPICreate()
  If tes == 0 Then Error.Raise("Errore !")

  err = TessBaseAPIInit3(tes, Null, "eng")
  If err <> 0 Then Error.Raise("Errore !")

' pis = pixScaleColor4xLI(pis)
' pis = pixConvertRGBToGray(pis, 0.5, 0.5, 0.5)

  TessBaseAPISetImage2(tes, pis)
  
  TessBaseAPISetSourceResolution(tes, 300)
  
  err = TessBaseAPIRecognize(tes, 0)
  If err <> 0 Then Error.Raise("Errore !")

' Escaneo OCR:
  s = TessBaseAPIGetUTF8Text(tes)
  Print s
  
  TessBaseAPIEnd(tes)
  TessBaseAPIDelete(tes)
  pixDestroy(Object.Address(pis) + (SizeOf(gb.Pointer) * 3))

End

 



 
última edición por vuott el Martes, 15 Octobre 2019, 17:46; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Con OCR 
 
Los modulos son para usar las lilbrerias externas:

Tesseract hace el OCR

Leptonica maneja imagenes para que Tesseract pueda entenderlas.

El codigo del formulario es bastante auto-explicativo y lo usaba en un proyecto inconcluso para obtener estadísticas de Pokerstars (es legal; al estilo PokerTracker) de la siguiente manera:

capturaba una parte de la pantalla con

imagen = Desktop.Screenshot(Me.Left + PictureBox1.Left, Me.Top + PictureBox1.top + 27, PictureBox1.W, PictureBox1.H)
 

y se la pasaba a Tesseract para que haga el OCR:

Debug "Se la paso a Tesseract"

modTesseract.TessBaseAPISetImage2(hTesse, modLeptonica.Pixd)

Debug "Escaneo OCR"

TextArea1.Text = modTesseract.TessBaseAPIGetUTF8Text(hTesse)
 


Obviamente, la imagen puede provenir de diversas fuentes.

La calidad del OCR era bastante mala, debo decir, probablemente por la poca resolucion de la captura de imagen. Finalmente abandone el proyecto porque era mas dificil de lo que pense en un principio.
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Con OCR 
 
tercoIDE escribió:  

El codigo del formulario es bastante auto-explicativo


Pues, perdone usted, pero era pereza mas que otra cosa.

Citar:
capturaba una parte de la pantalla con


Que chulada, genial

Vaya tela !!!

Saludos
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto Con OCR 
 
Todos estos códigos hay que implementarlos en alguna proyecto, a ver que se nos ocurre.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Proyecto OCR 4octavio4 Aplicaciones/Fragmentos de Código 9 Sabado, 14 Julio 2012, 13:01 Ver último mensaje
alessandri
No hay nuevos mensajes Proyecto De Grado Paquito General 4 Lunes, 16 Noviembre 2015, 10:11 Ver último mensaje
Paquito
No hay nuevos mensajes Directorio Del Proyecto Shell General 5 Lunes, 05 Junio 2017, 11:02 Ver último mensaje
tincho
No hay nuevos mensajes Propuesta De Proyecto Patonsky1 General 7 Martes, 14 Septiembre 2010, 04:06 Ver último mensaje
Patonsky1
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario