-1

基本的に、「If image.contains(image2)...」のようなものが必要です。たとえば、画像 1 の場合: 画像1

画像2に含まれていることがわかりました:

画像2

次に、x/y 座標を返しますが、これは VB.Net で可能ですか?

4

1 に答える 1

0

完全一致を探している場合は、ピクセルをループして一致を探します。メソッドは文字列の一致と同じくらい単純ですが、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)
于 2011-03-20T02:20:23.473 に答える