Lectura Secuencial De Un BMP


Objetivo: Lectura Secuencial De Un BMP
Buenas compañeros, tengo un amigo que está trabajando con arduino y para un proyecto de fotografía esta realizando los siguiente:

hace la lectura de un archivo.BMP de 288(alto) x 1(ancho) para extraer en un array el RGB de cada pixel.
y el array se le corrompe a partir de la posición 144.

Bien yo quería montar algo parecido en gambas para revisar el algoritmo y ver la mejor manera de optimizar este código, creo que lo ha realizado en C++, para el caso es lo mismo (un IF siempre será un IF).

Mi pregunta es, alguien ha realizado alguna vez algo por el estilo, o me podéis indicar cómo puedo utilizar un buffer de memoria para este caso.

Muchas gracias desde ya.

Perfil MP  
Objetivo: Re: Lectura Secuencial De Un BMP
calcena escribió: [Ver mensaje]
....para extraer en un array el RGB de cada pixel.

... cómo puedo utilizar un buffer de memoria para este caso.

En general, para conocer el valor de cada pixel de un archivo imagen, tú puedes utilizar la propiedad " .Pixel " de la Clase Image.

Exemplum:
Public Sub Button1_Click()

Dim bmp As Image
Dim i As Integer

bmp = Image.Load("/ruta/del/archivo/imagen.bmp")

For i = 0 To bmp.Pixels.Max
Print i, Hex(bmp.Pixels[i], 8)
Next

End




Pero, si tu prefieres ver de manera "distinta" cada valor del RGB, puedes usar este codigo:

Public Sub Button1_Click()

Dim bmp As Image
Dim px, n As Integer

bmp = Image.Load("/ruta/del/archivo/imagen.bmp")

For n = 0 To bmp.Pixels.Max
px = bmp.Pixels[n]
Print n, "Pixel: "; Hex(px, 8)
Print Null, Hex(Shr(px, 24) And &FF, 2), Hex(Shr(px, 16) And &FF, 2), Hex(Shr(px, 8) And &FF, 2), Hex(px And &FF, 2)
Print
Next

End


o penetrar en el área de memoria del Objeto "Image" dereferenciando su propiedad " .Data " y leyendo cada su byte-dato:
Public Sub Button1_Click()

Dim bmp As Image
Dim i As Integer

bmp = Image.Load("/ruta/del/archivo/imagen.bmp")

For i = 0 To (bmp.W * bmp.H * Len(bmp.Format)) - 1
Print i, Hex(Byte@(bmp.Data + i), 2)
Sleep 0.3 ' Pongo aquì "Sleep" solo con fines didácticos:
Next

End




Señalo esta pagina del Wiki del foro italiano de Gambas:
http://www.gambas-it.org/wiki/index...di_una_immagine

última edición por vuott el Viernes, 13 Abril 2018, 10:44; editado 6 veces
Perfil MP  
Objetivo: Re: Lectura Secuencial De Un BMP
Me acordé del hilo https://foro.gambas-es.org/viewtopic.php?f=5&t=3296

Lo apunto aquí que tal vez es algo de lo que quieres hacer.

Saludos.

Objetivo: Re: Lectura Secuencial De Un BMP
calcena escribió: [Ver mensaje]
...alguien ha realizado alguna vez algo por el estilo...

Hola, yo hice la traducción de un código python hace un tiempo para reconocer caracteres de una imagen. y también estuve probando detectar celdas para importar una tabla.
Acá esta el post
https://foro.gambas-es.org/viewtopi...ht=ocr&start=10
Tal vez algo de lo que hay ahí te sirva.
Saludos.

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1077s (PHP: -19% SQL: 119%)
Consultas SQL: 24 - Debug off - GZIP Activado