Проведя час, пытаясь решить эту проблему, я решил как вопрос.VB, возвращающий переполнение с небольшими номерами
Я использую VB.Net 2010 в проекте, связанном с изображением. На этом этапе мне нужно сравнить цвет пикселей двух изображений, чтобы определить, насколько они похожи. Для этого я разработал следующий код:
''get both images as bitmaps
Dim act As New Bitmap("cam.bmp")
Dim map As New Bitmap(bmap)
''declare the variable that counts the different pixels
Dim count As Integer = 0
''declare the variables that represent the colors
Dim val As Long = 0
Dim valr As Long = 0
Dim valg As Long = 0
Dim valb As Long = 0
''analize both images pixel by pixel
For x = 1 To act.Width - 1 Step 1
For y = 1 To act.Height - 1 Step 1
valr = 0
valg = 0
valb = 0
''determine how different the pixels are
valr = Math.Abs(act.GetPixel(x, y).R - map.GetPixel(x, y).R)
valg = Math.Abs(act.GetPixel(x, y).G - map.GetPixel(x, y).G)
valb = Math.Abs(act.GetPixel(x, y).B - map.GetPixel(x, y).B)
val = Long.Parse(Int((valr + valg + valb)/3).ToString)
''if enough different, add 1 to count
If val > 50 Then
count += 1
End If
Next
Next
''show how many pixels are different in proportion
MsgBox((count/(act.Width * act.Height)).ToString)
При выполнении этого кода, переполнение происходит в valr = Math.Abs(act.GetPixel(x, y).R - map.GetPixel(x, y).R)
части. Никакой другой проблемы не возникает.
Спасибо, он решил мою проблему. – Elemermelada