Я новичок в мире Python, а также в программировании. Я должен выполнить следующую задачу: мне нужно сделать снимок экрана на моем P C, показывая определенную c область в режиме Google Maps Traffi c.
Traffi c отображается информация на 4 цвета. Эти цвета - зеленый, оранжевый, красный и более темный красный. С помощью простых программ я могу проверить, какие конкретно цвета c. Я имею в виду точные значения, например B: 150, G:100, R:75
.
Как я могу выделить (сохранить) этот цвет и сделать все остальные пиксели белыми. Я уже пробовал использовать маскировку ВПГ, но у меня не было очень хороших результатов. Я тоже пробовал с трекбаром и HSV, результаты одинаковые. Я чаще всего использую OpenCV, matplotlib, numpy ... et c. Я подчеркиваю, что я хотел бы, если возможно, решение с rgb, что-то вроде l oop через все пиксели и оставить только те, которые имеют определенный цвет c. Спасибо!
Цвета нам нужны:
orange R:255, G:151, B:77
green R:99, G:214, B:104
red R:242, G:60, B:50
Dark red R:129, G:31, B:31
ПРИМЕР
import cv2
import numpy as np
image = cv2.imread('08.00am.Monday.png')
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
lower = np.array([2, 100, 100])
upper = np.array([75, 255, 255])
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv, lower, upper)
output = cv2.bitwise_and(image,image, mask= mask)
cv2.imshow('image',output)
cv2.waitKey(0)
cv2.destroyAllWindows()
пример изображения