Я не могу изменить цвета так, чтобы они были такими же, как мои естественные цвета диапозитива. Они всегда перевернуты. Я пробовал использовать разные цветовые пространства, но не могу заставить их работать. Я хочу, чтобы программа делала снимок моего экрана, но также могла определять определенные цвета на экране
import cv2
import numpy as np
import pyautogui
def nothing(x):
pass
cv2.namedWindow("Tracking")
cv2.createTrackbar("LH", "Tracking", 0, 255, nothing)
cv2.createTrackbar("LS", "Tracking", 0, 255, nothing)
cv2.createTrackbar("LV", "Tracking", 0, 255, nothing)
cv2.createTrackbar("UH", "Tracking", 255, 255, nothing)
cv2.createTrackbar("US", "Tracking", 255, 255, nothing)
cv2.createTrackbar("UV", "Tracking", 255, 255, nothing)
while True:
screenshot = pyautogui.screenshot()
screenshot = np.array(screenshot)
hsv = cv2.cvtColor(screenshot, cv2.COLOR_BGR2HSV) #
l_h = cv2.getTrackbarPos("LH", "Tracking")
l_s = cv2.getTrackbarPos("LS", "Tracking")
l_v = cv2.getTrackbarPos("LV", "Tracking")
u_h = cv2.getTrackbarPos("UH", "Tracking")
u_s = cv2.getTrackbarPos("US", "Tracking")
u_v = cv2.getTrackbarPos("UV", "Tracking")
l_b = np.array([l_h, l_s, l_v])
u_b = np.array([u_h, u_s, u_v])
mask = cv2.inRange(hsv, l_b, u_b)
res = cv2.bitwise_and(screenshot, screenshot, mask=mask)
# cv2.imshow("screenshot", screenshot)
cv2.imshow("mask", mask)
cv2.imshow("res", res)
key = cv2.waitKey(1)
if key == 27:
break
cv2.destroyAllWindows()