Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: SheKeL_C$ en 22 Diciembre 2008, 21:23 pm



Título: Buscar una imagen dentro de otra
Publicado por: SheKeL_C$ en 22 Diciembre 2008, 21:23 pm
Creo que se crean muchas dudas al leer el titulo del post, pero ahora las resumire... Imaginaos algo parecido a "donde esta Wally" en el que a partir de dos imagenes, una la principal y la otra la del sujeto (Wally) y que comparando saque las coordenadas de donde esta.

Por supuesto que yo no quiero hacer lo de wally, es algo mas sencillo, no esta tan cargado el ambiente.

Mas o menos lo que yo quiero hacer es encontrar una imagen en un fondo solido


Título: Re: Buscar una imagen dentro de otra
Publicado por: Zeroql en 30 Diciembre 2008, 18:07 pm
toma un calculo de distancia segun los pixeles que tenga la imagen
en vb creo que uin pixel equivale a 15 puntos
me refiero
si una imagen ekivale a height=615 para el valor en pixeles haces esto: 615/15=41 px

o tambien pudes usar dos imgs
una con la img original y el otro sin ninguna img pero con code al presionarla.... y la ubicas donde keiras

espero te haya sido de ayuda


Título: Re: Buscar una imagen dentro de otra
Publicado por: vivachapas en 30 Diciembre 2008, 18:50 pm
mira hice este programa hace un tiempo con la idea de lograr capturas de pantalla de manera mas veloz para mi troyano. mi idea en ese entonces era tomar una captura de pantalla, enviarla al cliente y tb guardarla en el servidor, luego tomar una segunda y compararla ocn la primera y enviar solamente las partes q difieran...
bueno logre poder comparar 2 imagenes pequeñas, pero el problema es q para comparar los screen tienen q estar los dos cargaods en la pantalla... y obviamente en una pantalla no se peuden cargar 2 xD...

en fin el proyecto donde "experimente" quedo asi...
(decime si te sirve)

necesita: un combobox 2 picturebox 2 commandbutton:   (1 caption compara y el 2º limpiar)

Código
  1. Dim Presionado As Boolean
  2. Dim Color As ColorConstants
  3.  
  4. Private Sub Combo1_Click()
  5. Select Case Combo1.Text
  6.    Case "Rojo"
  7.    Color = vbRed
  8.    Case "Azul"
  9.    Color = vbBlue
  10.    Case "Verde"
  11.    Color = vbGreen
  12. End Select
  13. End Sub
  14.  
  15. Private Sub Command1_Click()
  16. Dim Ancho As Integer
  17. Dim Alto As Integer
  18. Dim PixX As Integer
  19. Dim PixY As Integer
  20. Dim PixColor As Double
  21. Dim oPixColor As Double
  22. Alto = Picture1.Height
  23. Ancho = Picture1.Width
  24. Picture1.DrawWidth = 1
  25. Picture2.DrawWidth = 1
  26. For PixX = 1 To Ancho Step 10
  27.    For PixY = 1 To Alto Step 10
  28.    PixColor = Picture1.Point(PixX, PixY)
  29.    oPixColor = Picture2.Point(PixX, PixY)
  30.    If Not PixColor = oPixColor Then
  31.    Color = Picture1.Point(PixX, PixY)
  32.    Picture2.PSet (PixX, PixY), Color
  33.    End If
  34.    Next PixY
  35. Next PixX
  36. Picture1.DrawWidth = 3
  37. Picture2.DrawWidth = 3
  38. End Sub
  39.  
  40. Private Sub Command2_Click()
  41. Picture1.Cls
  42. Picture2.Cls
  43. End Sub
  44.  
  45. Private Sub Form_Load()
  46. Picture1.Height = 1500
  47. Picture2.Height = 1500
  48. Picture1.Width = 1500
  49. Picture2.Width = 1500
  50. Picture1.DrawWidth = 3
  51. Picture2.DrawWidth = 3
  52. Picture1.BackColor = vbWhite
  53. Picture2.BackColor = vbWhite
  54. With Combo1
  55.    .AddItem "Rojo"
  56.    .AddItem "Verde"
  57.    .AddItem "Azul"
  58. End With
  59. End Sub
  60.  
  61.  
  62. Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  63. Presionado = True
  64. Picture1.CurrentX = X
  65. Picture1.CurrentY = Y
  66. End Sub
  67.  
  68. Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  69. If Presionado = False Then Exit Sub
  70. Picture1.Line -(X, Y), Color
  71. End Sub
  72.  
  73. Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  74. Presionado = False
  75. End Sub
  76.  
  77. Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  78. Presionado = True
  79. Picture2.CurrentX = X
  80. Picture2.CurrentY = Y
  81. End Sub
  82.  
  83. Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  84. If Presionado = False Then Exit Sub
  85. Picture2.Line -(X, Y), Color
  86. End Sub
  87.  
  88. Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  89. Presionado = False
  90. End Sub

desp tendrias q modificarlo para q x ejemplo busque los pixeles del picture1 en el picture 2

espero q sirva

SALUDOS


Título: Re: Buscar una imagen dentro de otra
Publicado por: viviz02 en 30 Diciembre 2008, 20:08 pm
Gracias por el code, es muy bueno.

Lo guardare por si lo necesito en alguno de mis futuros proyectos.


Título: Re: Buscar una imagen dentro de otra
Publicado por: jsbsan en 16 Noviembre 2015, 11:44 am
En linux tenemos varios comandos para hacer este tipo de busquedas.

Lo he comentado en este enlace:
http://jsbsan.blogspot.com.es/2015/11/buscar-una-imagen-dentro-de-otra-y.html