Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def ingamesearch(screenshot, image, percision, rbgvalue, offsetx, offsety, label, labeloffsetx, labeloffsety, highlightx, highlighty, plusorminus, enemy, enemyColor, enemyLabel):
- resultset = []
- img_rgb = np.array(screenshot)
- img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
- template = cv2.imread(image, 0)
- w, h = template.shape[::-1]
- res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
- loc = np.where(res >= percision)
- count = 1
- for pt in zip(*loc[::-1]):
- #cv2.rectangle(img_rgb, pt, (pt[0] + offsetx, pt[1] + offsety), (252, 255, 17), 1)
- color = screenshot.getpixel((int(pt[0]+5), int(pt[1]+3)))
- #print (color)
- #print(label)
- if (enemy == 0):
- if ((rbgvalue[0]-plusorminus) >= color[0] or color[0] <= (rbgvalue[0]+plusorminus) ):
- if ((rbgvalue[1]-plusorminus) >= color[1] or color[1] <= (rbgvalue[1]+plusorminus) ):
- if ((rbgvalue[2]-plusorminus)>= color[2] or color[2] <= (rbgvalue[2]+plusorminus) ):
- #cv2.rectangle(img_rgb, pt, (pt[0] + w + highlightx, pt[1] + h + highlighty), (0, 0, 255), 2)
- #cv2.putText(img_rgb, label, (pt[0] + labeloffsetx, pt[1] + labeloffsety), cv2.FONT_HERSHEY_PLAIN , .5, (0, 0, 255), lineType=cv2.LINE_AA)
- resultset.insert(count, (pt, label))
- count = count + 1
- else:
- return "None 3"
- else:
- return "None 2"
- else:
- return "None 1"
- #cv2.imwrite('result.png', img_rgb)
- elif (enemy == 1):
- if ((rbgvalue[0]-plusorminus) >= color[0] or color[0] <= (rbgvalue[0]+plusorminus) ):
- if ((rbgvalue[1]-plusorminus) >= color[1] or color[1] <= (rbgvalue[1]+plusorminus) ):
- if ((rbgvalue[2]-plusorminus)>= color[2] or color[2] <= (rbgvalue[2]+plusorminus) ):
- #cv2.rectangle(img_rgb, pt, (pt[0] + w + highlightx, pt[1] + h + highlighty), (0, 0, 255), 2)
- #cv2.putText(img_rgb, label, (pt[0] + labeloffsetx, pt[1] + labeloffsety), cv2.FONT_HERSHEY_PLAIN , .5, (0, 0, 255), lineType=cv2.LINE_AA)
- resultset.insert(count, (pt, label))
- count = count + 1
- else:
- return "None 4"
- else:
- return "None 5"
- elif ((enemyColor[0]-plusorminus) >= color[0] or color[0] <= (enemyColor[0]+plusorminus)):
- if ((enemyColor[1]-plusorminus) >= color[1] or color[1] <= (enemyColor[1]+plusorminus)):
- if ((enemyColor[2]-plusorminus) >= color[2] or color[2] <= (enemyColor[2]+plusorminus)):
- #cv2.rectangle(img_rgb, pt, (pt[0] + w + highlightx, pt[1] + h + highlighty), (0, 0, 255), 2)
- #cv2.putText(img_rgb, enemyLabel, (pt[0] + labeloffsetx, pt[1] + labeloffsety), cv2.FONT_HERSHEY_PLAIN , .5, (0, 0, 255), lineType=cv2.LINE_AA)
- resultset.insert(count, (pt, enemyLabel))
- count = count + 1
- else:
- pass
- elif (enemy == 2):
- #print (count, pt, label)
- resultset.insert(count, (pt, label))
- count = count + 1
- #cv2.imwrite('result.png', img_rgb)
- return resultset
- def r(num, rand):
- return num + rand*random.random()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement