代码拉取完成,页面将自动刷新
# 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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。