基本的に、「If image.contains(image2)...」のようなものが必要です。たとえば、画像 1 の場合:
画像2に含まれていることがわかりました:
次に、x/y 座標を返しますが、これは VB.Net で可能ですか?
基本的に、「If image.contains(image2)...」のようなものが必要です。たとえば、画像 1 の場合:
画像2に含まれていることがわかりました:
次に、x/y 座標を返しますが、これは VB.Net で可能ですか?
完全一致を探している場合は、ピクセルをループして一致を探します。メソッドは文字列の一致と同じくらい単純ですが、2 次元であるだけです。
もちろん、いくつかの最適化の余地はありますが、基本的には次のとおりです。
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)