import cv2
image = cv2.imread("Слайд1.PNG")
yellow = ((15, 100, 100), (40, 255, 255))
def find_contours(img, color):
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
img_mask = cv2.inRange(img_hsv, color[0], color[1])
contours, _ = cv2.findContours(img_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
return contours
def detect_flashlights(image):
result = ["0", "0", "0"]
contours = find_contours(image, yellow)
for contour in contours:
M = cv2.moments(contour)
x = int(M["m10"] / M["m00"])
if x < 500:
result[0] = "1"
elif x < 800:
result[1] = "1"
else:
result[2] = "1"
binary = "".join(result)
decimal = int(binary, 2)
return binary, decimal
binary, decimal = detect_flashlights(image)
print(binary, "-", decimal)