'Problems with red pixel and loop check

I am new here and also in python (^_^') I have a question about my code. This is an infinite loop, when my code finds a red pixel in a saved screenshot send me a message, it works if there is a red pixel, but if I try to test another red pixel or delete the last red pixel detected and then re-use it, my code stops working with this error:

Warning (from warnings module):
File "C:\Users\Desktop\DCN.py", line 126
comparison_dcn = check_dcn == control_dcn
DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
Traceback (most recent call last):
File "C:\Users\Desktop\DCN.py", line 127, in <module>
equal_dcn= comparison_dcn.all()
AttributeError: 'bool' object has no attribute 'all'

My idea was to create a numpy array to save the coordinates (x,y) and check if already exist inside this array, it must not detect it to me two times... I tried to figure out the problem, but it is too early for my python experience.... I hope my english is understandable XD Can someone kindly help me with my code and explain my issue?

#libaries
import mss
import mss.tools
from PIL import image
import psutil
import time
import cv2
import numpy as np
   

#global variables
loop = 1
check_dcn = np.column_stack((0,0))
counter_dcn = 0

while loop == 1 :
 #detect red pixel 
 def detect_color(rgb, filename):
    img = Image.open(filename)
    img = img.convert('RGBA')
    data = img.getdata()

    for item in data:
        if item[0] == rgb[0] and item[1] == rgb[1] and item[2] == rgb[2]:
            return True       
    return False

 with mss.mss() as sct:
    # The screen part to capture
    monitor = {"top": 190, "left": 0, "width": 1920, "height": 840}
    output = "example.png".format(**monitor)

    # Grab the data
    sct_img = sct.grab(monitor)

    # Save to the picture file
    mss.tools.to_png(sct_img.rgb, sct_img.size, output=output)
    
    print (detect_color((255,102,102), 'example.png')) #dcn red pixel

    #dcn alarm detected
    if detect_color((255,102,102), 'example.png'): 

        pixel_img = cv2.imread('example.png')
        pop = [102,102,255] #BGR order

        X,Y = np.where(np.all(pixel_img == pop, axis = 2)) #coordinates
        control_dcn = np.column_stack((X,Y)) #assign coordinates

        print(control_dcn) #test
        
        if counter_dcn == 0:
            counter_dcn = 1
            check_dcn = control_dcn
            
            print("first round dcn") #test
            print(check_dcn) #test
            
        ###looking for solution here to empty comparison_dcn  
        comparison_dcn = check_dcn == control_dcn
        equal_dcn= comparison_dcn.all()
        
        if equal_dcn:
            print("red pixel alread reported,waiting 20 seconds") #test
            time.sleep(20)
            
        else:
            check_dcn = np.column_stack(X,Y)
            print("red pixel added,waiting 5 seconds") #test
            print(check_dcn) #test
            time.sleep(5)

    else:
        print("Nothing, waiting 10 seconds")
        time.sleep(10)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source