def cv2_process(q):
global _aim
while True:
if _aim and not q.empty():
img_weapon = q.get_nowait()
q.task_done()
# some processing code
# OpenCV HSV Scale (H: 0-179, S: 0-255, V: 0-255)
weapon_color = (0, 0, 240), (180, 10, 250) # color | color contrast 0 - white | color brightness 255 - white
#тут получаем маску по цвету и оставляем на изображении только то что белое
hsv2 = cv2.cvtColor(img_weapon, cv2.COLOR_BGR2HSV)
mask_weapon = cv2.inRange(hsv2, np.array(weapon_color[0], dtype=np.uint8),
np.array(weapon_color[1], dtype=np.uint8))
mask_weapon = cv2.bitwise_and(hsv2, hsv2, mask=mask_weapon)
weapon_img = cv2.cvtColor(mask_weapon, cv2.COLOR_HSV2BGR)
#дальше мне стало лень так что єто просто пример по котормоу всё поймёшь
hash1 = imagehash.average_hash(Image.open('vandal.jpg')) #єто допустим оружие которое надо
hash2 = imagehash.average_hash(Image.open('now.jpg')) #єто актуальное
print(abs(hash1-hash2)) #разница хеша
cv2.imwrite("now.jpg", weapon_img) #сохранение актуального изображения оружия