Cравнение пикселей по цвету в разное время, в одной точке на python

мне нужно написать код на Python где при смене пикселей делается скрин и отправляется мне в ЛС. Нужно часть сравнения. код:

from mss import *
import telebot
import numpy as np
from time import *

# Проба цвета с координ
x=886
y=395
m = mss()
monitor = {
    "left": x,
    "top": y,
    "width": 1,
    "height": 1,
}
# Получаем пиксель с экрана монитора
im = m.grab(monitor)
# Преобразуем этот пиксель в матрицу
im_arr = np.array(im)

  #Проба цвета с координат

monito = {
    "left": x,
    "top": y,
    "width": 1,
    "height": 1,
}
# Получаем пиксель с экрана монитора
img = m.grab(monito)
# Преобразуем этот пиксель в матрицу
img_arr = np.array(img)
    
print(im_arr)
sleep(5)
print(img_arr)
if np.array_equal(im_arr, img_arr):
    print(1)
else:
    print(0)

Но ошибка:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Помогите пж.


Ответы (1 шт):

Автор решения: CrazyElf

Используйте функцию numpy.array_equal для сравнения двух массивов Numpy:

if np.array_equal(im_arr, img_arr):

Хотя, если у вас ровно один пиксел, то можно взять первое (и единственное) значение из каждого массива и сравнивать его:

if im_arr[0] == img_arr[0]:
→ Ссылка