/
rnekrasov
/
Python
Обзор
Документация
Войти
/
rnekrasov
/
Python
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
invisible_clock.py
65 строк
1 KB
slowy07
refactor: clean code
30 янв 2022, 04:33
30 янв 2022, 04:33
f0af0c4
Код
Авторство
О чём код?
# Hey you need red color cloak import cv2 # superinposing two images import numpy as np import time cap = cv2.VideoCapture(0) time.sleep(2) # 2 sec time to adjust cam with time background = 0 # capturing the background for i in range(30): # 30 times ret, background = cap.read() while cap.isOpened(): ret, img = cap.read() if not ret: break hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # hsv values for red color lower_red = np.array([0, 120, 70]) upper_red = np.array([10, 255, 255]) mask1 = cv2.inRange(hsv, lower_red, upper_red) # seperating the cloak part lower_red = np.array([170, 120, 70]) upper_red = np.array([180, 255, 255]) mask2 = cv2.inRange(hsv, lower_red, upper_red) mask1 = mask1 + mask2 # OR (Combining) # #remove noise mask1 = cv2.morphologyEx( mask1, cv2.MORPH_OPEN, np.ones((3, 3), np.uint8), iterations=2 ) mask1 = cv2.morphologyEx( mask1, cv2.MORPH_DILATE, np.ones((3, 3), np.uint8), iterations=1 ) # mask2 --> Everything except cloak mask2 = cv2.bitwise_not(mask1) res1 = cv2.bitwise_and(background, background, mask=mask1) # used for segmentation res2 = cv2.bitwise_and(img, img, mask=mask2) # used to substitute the cloak part final_output = cv2.addWeighted(res1, 1, res2, 1, 0) cv2.imshow("Eureka !", final_output) if cv2.waitKey(1) == 13: break cap.release() cv2.destroyAllWindows() # Press enter to get out of window