elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  API Comparar Imagenes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: API Comparar Imagenes  (Leído 11,839 veces)
gulabyte

Desconectado Desconectado

Mensajes: 97



Ver Perfil
Re: API Comparar Imagenes
« Respuesta #10 en: 30 Noviembre 2009, 20:06 pm »

Cómo se podría cargar o asignarle un archivo (una foto .jpeg) a un string¿¿


« Última modificación: 30 Noviembre 2009, 20:09 pm por gulabyte » En línea

Jaixon Jax


Desconectado Desconectado

Mensajes: 859



Ver Perfil
Re: API Comparar Imagenes
« Respuesta #11 en: 30 Noviembre 2009, 22:10 pm »

 ;D  ese estring del que hablas no sera un bufer :¬¬ en fin eso son los string buffers en lo cual puedes meter de todo no solo palabras y cobein tiene razon ese algoritmo no es nada eficiente los cuadros que quieres comparar tienen que estar exactamente en el mismo sitio en cada captura y con un solo bits que sean diferentes te dira que son diferentes las imagenes .... :)


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: API Comparar Imagenes
« Respuesta #12 en: 1 Diciembre 2009, 00:59 am »

Cómo se podría cargar o asignarle un archivo (una foto .jpeg) a un string¿¿

Estas de broma verdad, porque ya te lo postearon aquí
En línea

The Dark Shadow is my passion.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: API Comparar Imagenes
« Respuesta #13 en: 2 Diciembre 2009, 20:43 pm »

No es necesario que sea un MD5, cualquier hash te valdria... claro, si lo haces tu hay que ir con cuidado, ya que puede darse el caso de que dos conjuntos de datos den el mismo hash... mira este algoritmo que acabo de hacer por ejemplo:

Código
  1. Private Sub Form_Load()
  2.    Dim bvTMP()     As Byte
  3.  
  4.    Call LoadFile("C:\WINDOWS\SYSTEM32\CALC.EXE", bvTMP)
  5.    Debug.Print Hex$(GetHash(bvTMP)),
  6.    Call LoadFile("C:\WINDOWS\SYSTEM32\NOTEPAD.EXE", bvTMP)
  7.    Debug.Print Hex$(GetHash(bvTMP))
  8. End Sub
  9.  
  10. Public Function GetHash(ByRef bvArray() As Byte) As Double
  11.    Dim i           As Long
  12.  
  13.    For i = LBound(bvArray) To UBound(bvArray)
  14.        GetHash = GetHash + (bvArray(i) Xor (((GetHash And &HFFFF0000) \ &H10000) And &HFF))
  15.    Next i
  16. End Function
  17.  
  18. Public Sub LoadFile(ByVal sPath As String, ByRef bvRET() As Byte)
  19.    Open sPath For Binary As #1
  20.        ReDim bvRET(0 To LOF(1) - 1)
  21.        Get #1, , bvRET
  22.    Close #1
  23. End Sub

Es bastante rapido ::) Me parece una buena alternativa al MD5 :P


Un codigo funcional para comparar:
Código:
Option Explicit

'GDI32
Private Declare Function GetBitmapBits Lib "GDI32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function GetObject Lib "GDI32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long

Private Type BITMAP
    bmType          As Long
    bmWidth         As Long
    bmHeight        As Long
    bmWidthBytes    As Long
    bmPlanes        As Integer
    bmBitsPixel     As Integer
    bmBits          As Long
End Type

Private Sub GetBitmapData(ByVal pPIC As PictureBox, ByRef bvRet() As Byte)
    Dim tBitmap       As BITMAP
   
    Call GetObject(pPIC.Image.Handle, Len(tBitmap), tBitmap)

    ReDim bvRet(0 To (tBitmap.bmWidth * 4) * tBitmap.bmHeight) As Byte
   
    Call GetBitmapBits(pPIC.Picture.Handle, UBound(bvRet), bvRet(0))
End Sub

Public Function GetHash(ByRef bvArray() As Byte) As Double
    Dim i           As Long
 
    For i = LBound(bvArray) To UBound(bvArray)
        GetHash = GetHash + (bvArray(i) Xor (((GetHash And &HFFFF0000) \ &H10000) And &HFF))
    Next i
End Function

Private Sub Form_Load()
    Dim p1()        As Byte
    Dim p2()        As Byte
   
    Call GetBitmapData(Picture1, p1)
    Call GetBitmapData(Picture2, p2)
   
    If GetHash(p1) = GetHash(p2) Then MsgBox "IGUALES!"
End Sub

Como dice Cobien es un gasto de memoria grande...
« Última modificación: 2 Diciembre 2009, 21:03 pm por Karcrack » En línea

gulabyte

Desconectado Desconectado

Mensajes: 97



Ver Perfil
Re: API Comparar Imagenes
« Respuesta #14 en: 3 Diciembre 2009, 01:19 am »

Gracias por responder! Entonces mejor ir mandando y borrando capturas que hacer gasto de memoria en comparar las imagenes¿?  ;D ;D
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparar imagenes y que haga cliks en ellas.
Programación C/C++
mendrugo123 5 3,870 Último mensaje 6 Agosto 2013, 23:45 pm
por MeCraniDOS
Comparar Imagenes y encontrar similitudes. « 1 2 »
Java
footer 17 14,671 Último mensaje 12 Septiembre 2017, 06:37 am
por Serapis
Comparar matrices
Programación C/C++
FranAI 2 3,149 Último mensaje 17 Mayo 2020, 21:02 pm
por FranAI
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines