Visual Basic - pixeles????????????

Life is soft - evento anual de software empresarial
 
Vista:

pixeles????????????

Publicado por hector (8 intervenciones) el 20/01/2005 15:17:08
hola amigos tengo el siguiente problema :
Definición Bloque:
Se dispone de dos archivos .BMP que poseen fotos a color casi iguales
lo que se desea es comparar pixel a pixel ambas fotos y entregar
un parámetro de salida que señale en %, la cantidad de pixeles
que son diferentes (cpdif)
Como ejemplo supongamos dos fotos casi iguales en que solo difieren
en que una de ellas, tiene un circulo de cualquier color , entonces
el resultado debiera ser (área circulo / área foto) *100

Entradas : archivo1.bmp y archivo2.bmp
Salida : en variable llamada cparchi con el contenido de
(cpdif)


no tengo idea de como hacerlo pero lo debo hacer urgente por favor orientenme,

gracias de antemano

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:pixeles????????????

Publicado por Benjo (679 intervenciones) el 20/01/2005 21:40:25
'Este ejemplo te demuestra como trasladar pixeles de un picture a otro.Colocá dos picturebox en el form, uno de ellos con imagen, el otro no, un botón y listo. En este mismo orden de ideas, podés comparar en un mismo bucle, un pixel del picture1 y un pixel del picture2
Private Declare Function GetPixel Lib "GDI32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetPixel Lib "GDI32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal color As Long) As Long
Private Sub Command1_Click()
Picture2.Cls ' borro todo el contenido del Picture
Dim color As Long
Dim x As Double
Dim y As Double
For y = 0 To Picture1.ScaleHeight 'Recorre todo el alto de la imagen
For x = 0 To Picture1.ScaleWidth 'Recorre todo el ancho de la imagen
' tomo el pixel del picture 1
color = GetPixel(Picture1.hDC, x, y) 'tomo el color
For a = 1 To 120 ' bucle solo para disminuir la velocidad
' del proceso
Next
' coloco el pixel en el picture 2
SetPixel Picture2.hDC, x, y, color 'coloco el nuevo color
Next x
Next y
End Sub
Private Sub Form_Load()
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
Picture2.Height = Picture1.Height
Picture2.Width = Picture1.Width
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar