VB.Net Распознавание изображений - PullRequest
0 голосов
/ 20 марта 2011

По сути, я хочу что-то вроде «Если image.contains (image2) ...». Например, если изображение 1: IMAGE 1

содержится на изображении 2:

IMAGE 2

Тогда он вернет свою координату x / y, возможно ли это в VB.Net?

1 Ответ

0 голосов
/ 20 марта 2011

Если вы ищете точное совпадение, то вы просто просматриваете пиксели и ищите совпадение. Этот метод так же прост, как сопоставление строк, только он двумерный.

Конечно, есть место для некоторых оптимизаций, но в основном:

For y = 0 To image.Height - image2.Height - 1
  For x = to image.Width - image2.Width - 1
    ix = 0
    iy = 0
    cnt = 0
    While iy < image2.Height And ix < image2.Width And image.GetPixel(x + ix, y + iy) = image2.GetPixel(ix, iy) Then
      cnt += 1
      ix += 1
      If ix = image2.Width Then
        ix = 0
        iy += 1
      End If
    End While
    If cnt = image2.Width * image2.Height Then
      Return New Point(x, y)
    End If
  Next
Next
Return New Point(-1, -1)
...