Programación General > Visual Basic 6.0 e inferiores
procesamiento de imagenes!!
la mole p:
hola a todos!!
Estoy desactualizado con mi programacion en VB 6.0, estoy haciendo un proyecto de procesamiento de imagenes en el cual utilizo para leer y escribir las API creo q ya conocidas por todos getpixel y setpixel de la siguiene forma:
Public Sub leer()
For j = 2 To 240
For i = 2 To 320
M(j, i) = (GetPixel(Picture1.hdc, i, j) Mod &H10000) / &H100 ' para poder obtener la componente G
Next i
Next j
End Sub
Public Sub escribir()
For j = 1 To H
For i = 1 To W
SetPixel Picture3.hdc, i , j , RGB(M2(j, i), M2(j, i), M2(j, i))
Next i
Next j
End Sub
pero en cuanto a velocidad no me convence!!!!
quedaria muy agradecido si alguien sabe de alguna alternativa mucho mejor q obviamente me ayude a mejorar la velocidad de mi codigo, ya sea con punteros, etc!!!
m0skit0:
--- Cita de: "la mole p" ---pero en cuanto a velocidad no me convence!!!!
--- Fin de la cita ---
Si quieres mi opinión, eso es intrínseco a que VB es LENTO. Si quieres más velocidad, prueba con VC++.
Un par de consejos si aún así quieres aumentar la velocidad: evita las APIs y hazlo manualmente como un fichero binario, y sobre todo evita la división (que es la operación de enteros más lenta para la CPU): intenta descomponerla en otras operaciones como rotamiento de bits hacia la izquierda ya que usas un divisor múltiplo de 2.
Salud
la mole p:
gracias mosquito por tu opinion, justamente la otra vez estuve investigando como crear una dll en VC++ para ser utilizadas en VB6.0, por lo que ya mi proyecto esta bastante avanzado en VB6.0 y necesito terminarlo lo antes posible jejeje, pero no tuve suerte, mis conocimientos en c++ son basicos y pues en cuanto a VC++ soy nuevo en el tema.
Pondria el link del cual me guie pero no tengo permiso todavia para eso.
como le hago??? :wacko:
la mole p:
--- Cita de: "moskito" ---evita las APIs y hazlo manualmente como un fichero binario, y sobre todo evita la división
--- Fin de la cita ---
mosko y podria saber a que te refieres con eso, disculpa mi ignorancia :P
m0skit0:
--- Cita de: "la mole p" ---
--- Cita de: "moskito" ---evita las APIs y hazlo manualmente como un fichero binario, y sobre todo evita la división
--- Fin de la cita ---
mosko y podria saber a que te refieres con eso, disculpa mi ignorancia :P
--- Fin de la cita ---
Estás perdonado :lol:
Las API (Application Programming Interface) son las llamadas al sistema de Win32. Algunas son lentas, otras rápidas, pero si puedes evitarlas, mejor. Si abres tú mismo el fichero de la imagen y lo procesas manualmente, tendrás más bajo control qué se hace y qué no y por tanto podrías mejorar la velocidad de la API que usas. Es cuestión de probar.
Y en cuanto a la división, creo que ya te lo he explicado en el anterior post.
Navegación
[#] Página Siguiente
Ir a la versión completa