RuntimeWarning: dépassement de capacité rencontrés dans ubyte_scalars

Je suis nouveau sur Python et c'est ma toute première chose que j'ai écrit et je me demande ce que je peux faire pour supprimer cet avertissement:

Warning (from warnings module):
  File "C:\Users\Luri\Desktop\Bot Stuff\ImageSaver.py", line 76
    currentdiff=abs(anread[w,h])-abs(bnread[w,h])
RuntimeWarning: overflow encountered in ubyte_scalars

J'ai essayé de Googler la réponse et rien de ce qui était clair, pour moi, d'aussi loin que la fixation de ce.

Je suis en train d'écrire un programme qui permettra de comparer en permanence la mise à jour de l'image qui est prise à partir d'un rectangle autour de mon curseur avec une image de référence que je suis à la recherche de.

Puis en fonction de quelle région se trouve le curseur par rapport à l'image de la cible, il va ajuster en conséquence.

Merci pour toute aide que vous pouvez donner à!

-J

Code est ci-dessous:

import os
import sys
import time
import Image
import ImageGrab
import win32api
import numpy, scipy
def mousePos():
#---------------------------------------------------------
#User Settings:
SaveDirectory=r'C:\Users\Luri\Desktop\Bot Stuff'
ImageEditorPath=r'C:\WINDOWS\system32\mspaint.exe'
#Here is another example:
#ImageEditorPath=r'C:\Program Files\IrfanView\i_view32.exe'
#---------------------------------------------------------
i,j = win32api.GetCursorPos()
print 'Your Cusor Position is:', i,j
time.sleep(1)
size = 112, 58
#-------------------
#data is defined as | x0y0 = [0,0] = (xpos-56,ypos-29) | x0y1 = [0,1] = (xpos-56,ypos+29) | x1y1 = [1,1] = (xpos+56,ypos+29) | x1y0 = [1,0] = (xpos+56,ypos-29)
#Take In Image In Rectangle around cursor position to locate text of name
pixeldiff=0
currentdiff=0
NQ1=193395
NQ2=166330
NQ3=171697
NQ4=168734
NAC=190253
NBC=205430
x0=i-56
y0=j-29
x1=i+56
y1=j+29
box=[x0, y0, x1, y1]
img=ImageGrab.grab()
saveas=os.path.join(SaveDirectory,'fullscreen.jpg')
img.save(saveas)
editorstring='""%s" "%s"'% (ImageEditorPath,saveas)
#Crop box around cursor
cursorbox=img.crop(box)
saveas=os.path.join(SaveDirectory,'cursorbox.jpg')
cursorbox.save(saveas)
#Converts the given cursor rectangle to 8bit grayscale from RGB  
out = cursorbox.convert("L")
saveas=os.path.join(SaveDirectory,'lmodecurbox.jpg')
out.save(saveas)
#Takes the converted grayscale picture and converts it to an array
a=numpy.asarray(out)
aarray=Image.fromarray(a)
sizea = a.shape
#  print sizea
#  print a
anread=a[:]
#Loads the reference image
reference=Image.open("referencecold.png")
#Converts the given cursor rectangle to 8bit grayscale from RGB
refout = reference.convert("L")
saveas=os.path.join(SaveDirectory,'lmoderefbox.jpg')
refout.save(saveas)
#Takes the converted grayscale picture and converts it to an array  
b=numpy.asarray(refout)
barray=Image.fromarray(b)
sizeb = b.shape
#  print sizeb
#  print b
#  print size
bnread=b[:]
#  print bnread
#Realized you can determine position based on this single quadrant
#Loop Quadrant 1 x0y1 to xmym
for h in range(0,29):
for w in range(0,55):
#currentdiff=0
currentdiff=abs(anread[w,h])-abs(bnread[w,h])
pixeldiff=pixeldiff+currentdiff
#  print pixeldiff
#Test Above
if pixeldiff<198559 and pixeldiff>190253:
#Test Left
if pixeldiff > 175000:
#Move Above and Left
print ('Go Up and Left')
else:
#Move Above Right
print ('Go Up and Right')
if pixeldiff>198559 and pixeldiff<205430:
if pixeldiff < 185000:
#Move Below and Left
print ('Go Down and Left')
else:
#Move Below and Right
print ('Go Down and Right')
"""
#Nominal Q1=193395 Variance low = 188408 Variance high = 203194
#Nominal Q2=166330 Variance low = 181116 Variance high = 199208
#Nominal Q3=171697 Variance low = 172279 Variance high = 201816
#Nominal Q4=168734 Variance low = 190644 Variance high = 191878
#Nominal Center = 198559
#Nominal Above Center = 190253
#Nominal Below Center = 205430
#Loop Quadrant 2 xmy1 to x1ym
for h in range(0,29):
for w in range(55,111):
difference=abs(a(w,h)-b(w,h))
currentdiff=abs(anread[w,h])-abs(bnread[w,h])
pixeldiff=pixeldiff+currentdiff
#Loop Quadrant 3 x0ym to xmy0
for h in range(29,57):
for w in range(0,55):
difference=abs(a(w,h)-b(w,h))
currentdiff=abs(anread[w,h])-abs(bnread[w,h])
pixeldiff=pixeldiff+currentdiff
#Loop Quadrant 4 xmym to x1y0
for h in range(29,57):
for w in range(55,111):
difference=abs(a(w,h)-b(w,h))
currentdiff=abs(anread[w,h])-abs(bnread[w,h])
pixeldiff=pixeldiff+currentdiff
#Fine Nominal Values for Each quadrant pixeldiff
#Compare which is similar and then move cursor in center of that quadrant
"""
def main():
#  while True:
mousePos()
if __name__ == "__main__":
main()
#Compare image to constantly updating image of rectangle around cursor (maybe per second?) by searching for the quadrant with most similarity
#-------------------
#Based on comparison, move cursor to middle (x and y value) of matched quadrant by population of similar features and repeat

OriginalL'auteur JessietheStudent | 2012-02-21