Invisible Cloak using OpenCV | Python Project (original) (raw)
import
cv2
import
numpy as np
import
time
print
(cv2.__version__)
capture_video
=
cv2.VideoCapture(
"video.mp4"
)
time.sleep(
1
)
count
=
0
background
=
0
for
i
in
range
(
60
):
`` return_val, background
=
capture_video.read()
`` if
return_val
=
=
False
:
`` continue
background
=
np.flip(background, axis
=
1
)
while
(capture_video.isOpened()):
`` return_val, img
=
capture_video.read()
`` if
not
return_val :
`` break
`` count
=
count
+
1
`` img
=
np.flip(img, axis
=
1
)
`` hsv
=
cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
`` lower_red
=
np.array([
100
,
40
,
40
])
`` upper_red
=
np.array([
100
,
255
,
255
])
`` mask1
=
cv2.inRange(hsv, lower_red, upper_red)
`` lower_red
=
np.array([
155
,
40
,
40
])
`` upper_red
=
np.array([
180
,
255
,
255
])
`` mask2
=
cv2.inRange(hsv, lower_red, upper_red)
`` mask1
=
mask1
+
mask2
`` mask1
=
cv2.morphologyEx(mask1, cv2.MORPH_OPEN, np.ones((
3
,
3
),
`` np.uint8), iterations
=
2
)
`` mask1
=
cv2.dilate(mask1, np.ones((
3
,
3
), np.uint8), iterations
=
1
)
`` mask2
=
cv2.bitwise_not(mask1)
`` res1
=
cv2.bitwise_and(background, background, mask
=
mask1)
`` res2
=
cv2.bitwise_and(img, img, mask
=
mask2)
`` final_output
=
cv2.addWeighted(res1,
1
, res2,
1
,
0
)
`` cv2.imshow(
"INVISIBLE MAN"
, final_output)
`` k
=
cv2.waitKey(
10
)
`` if
k
=
=
27
:
`` break