|
Página 1 de 1
|
Autor |
Mensaje |
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Gestor Códigos QR
Aquí os traigo un nuevo programa, un FrontEnd, para los comandos qrencode y libdecodeqr, que pueden crear y leer códigos QR, respectivamente. Estos códigos se pueden emplear para organizar cajas, libros, paquetes, o indicar direcciones webs.
Os dejo algunos pantallazos:
Además le he añadido la opción de capturar mediante la webcam, los códigos para que los "decodifique" el programa.
Puede generar un archivo .html para imprimir la información (tambien se crea un archivo de imagen tipo .png)
Descarga del código fuente: Enlace
Espero que os sea útil.
Saludos
|
#1 Sabado, 10 Diciembre 2011, 00:54 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
Re: Gestor Códigos QR
muchas gracias
|
#2 Jueves, 02 Febrero 2012, 19:39 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
Re: Gestor Códigos QR
cuando trato de capturar con la webcam
sale éste error
gb.v4l: v4l2: Device is V4L2!: Recurso no disponible temporalmente
gb.v4l: v4l2: Capture ON: Argumento inválido
gb.v4l: v4l2: 'Source' not currently implemented for V4L2: Argumento inválido
y no muestra la imágen
:C
|
#3 Sabado, 11 Febrero 2012, 22:40 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Gestor Códigos QR
Prueba con el ejemplo de camara web de gambas, a ver si te funciona...
¿que distro usas? Yo la he probado con Ubuntu.
|
#4 Domingo, 12 Febrero 2012, 11:46 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
Re: Gestor Códigos QR
uso linux mint 12 (basada en ubuntu 11.10)
que tiene un entorno gnome 3 modificado.
el ejemplo de webcam de gambas tampoco funciona bien.
se queda en el mensaje de "buscando cámara".
La cámara web funciona bien, ya que lo probé con el programa cheese
y el libdecodeqr-webcam
Saludos
|
#5 Domingo, 12 Febrero 2012, 15:56 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
Re: Gestor Códigos QR
Bueno probando con el ejemplo
MyWebCam, logré sacar una foto.
Ahora tengo que ver como hacer funcionar el lector de qr.
:S
|
#6 Domingo, 12 Febrero 2012, 17:48 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
Re: Gestor Códigos QR
Aca está mi intento de obtener el valor del código qr
aún no lo logro :C
' gambas class file
Library "libdecodeqr"
Extern qr_decoder_version() As String
Extern qr_decoder_open() As Pointer
Extern qr_decoder_close(handler As Pointer)
Extern qr_decoder_decode_image(handler As Pointer, image As Pointer) As Integer
Extern qr_decoder_get_header(handler As Pointer, header As Pointer) As Boolean
Extern qr_decoder_get_body(handler As Pointer, header As Pointer)
Library "libhighgui"
Extern cvLoadImage(path As String, loadType As Integer) As Pointer
Extern cvReleaseImage(cvImage As Pointer)
Private hWebCam As VideoDevice
Private QR_handler As Pointer
Private QR_header As Pointer
Private WebcamImage As Pointer
Private tempPath As String = User.Home &/ "tempImage.png"
Public Sub Form_Open()
Try hWebCam = New VideoDevice("/dev/video0")
If Error Then
Message.Error(("Unable to open video device"))
Return
End If
'hWebCam.Source = hWebCam.TV + hWebCam.PAL
'
Wait 0.001
Tmr.Delay = 500
Tmr.Enabled = True
Me.Caption = hWebCam.Name
End
Public Sub Form_Close()
Tmr.Enabled = False
hWebCam = Null
End
Public Sub decode_qr()
Dim Status As Integer
Dim buffer As String
Try WebcamImage = cvLoadImage(tempPath, 1)
Try QR_handler = qr_decoder_open()
Try status = qr_decoder_decode_image(QR_handler, WebcamImage)
Print status
If (qr_decoder_get_header(QR_handler, VarPtr(QR_header))) Then
qr_decoder_get_body(QR_handler, VarPtr(buffer), QR_header.byte_size + 1)
Endif
' If (qr_decoder_get_header(QR_handler, QR_header)) Then
' qr_decoder_get_body(QR_handler, buffer, QR_header.byte_size + 1)
' Print buffer
' Endif
' cvNamedWindow("src", 1);
' / /
' / / load image
' / /
' IplImage * src = cvLoadImage(argv[1], 1);
' cvShowImage("src", src);
'
' / /
' / / show version info
' / /
' printf("libdecodeqr version %s\n", qr_decoder_version());
'
' / /
' / / initialize
' / /
' QrDecoderHandle decoder = qr_decoder_open();
'
' / /
' / / Do decode using Default parameter
' / /
' short Stat = qr_decoder_decode_image(decoder, src);
' printf("STATUS=%04x\n", Stat);
'
' / /
' / / get QR code header
' / /
' QrCodeHeader header;
' If(qr_decoder_get_header(decoder, & header)){
' / /
' / / get QR code text
' / / To Null terminate, a buffer size Is Larger than body size.
' / /
' char * buf = New Char[header.byte_size + 1];
' qr_decoder_get_body(decoder, (unsigned char * )buf, header.byte_size + 1);
' printf("%s\n", buf);
' }
'
' / /
' / / finalize
' / /
' qr_decoder_close(decoder);
'
' puts("");
' puts("Hit any key to end.");
' cvWaitKey(0);
'
' cvDestroyAllWindows();
' cvReleaseImage( & src);
'
' return(0);
End
Public Sub Tmr_Timer()
Dim T1 As Date
Dim sBuf As String
Dim hPict As Picture
Dim status As Integer
Tmr.Enabled = False
'Try PictureBox1.Picture = hWebCam.Picture
Draw.Begin(dwgVideo)
hPict = hWebCam.Image.Picture
Draw.Picture(hPict, (dwgVideo.W - hPict.W) \ 2, (dwgVideo.H - hPict.H) \ 2)
Draw.End
Try hWebCam.Save(tempPath)
decode_qr()
'If Not Error Then Message.Info("Image saved as " & User.Home & "/temImage.png")
'status = qr_decoder_decode_image(QR_handler, Pointer@(hWebCam.Image.Picture))
'Print status
' If Not Error Then
' nFps = nFps + 1
' T1 = Now() - Fps
' If Second(T1) >= 1 Then
' Me.Caption = hWebCam.Name & " (" & nFps & " fps)"
' Fps = Now()
' nFps = 0
' End If
' End If
Tmr.Enabled = True
End
|
#7 Domingo, 12 Febrero 2012, 21:54 |
|
|
clsource
Usuario
Registrado: Febrero 2012
Mensajes: 40
Edad: 34 Ubicación:
|
Re: Gestor Códigos QR
Bien al final me decidí por usar zbarcam
que se encuentra en el paquete zbar-tools
-
- Private zbar As Process
-
- Public Sub _new()
- zbar = Exec ["zbarcam", "-q", "--raw"] For Read As "zProcess"
- End
-
- Public Sub zProcess_read()
- Dim sData As String
-
- sData = Read #Last, -255
- zCodes.Text = sData
- End
-
con eso puedo leer cualquier código con mi webcam
|
#8 Lunes, 13 Febrero 2012, 02:41 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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 Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|