diff --git a/scripts/README.md b/scripts/README.md index d869df5..4ca1a0b 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -26,3 +26,7 @@ Description - tictactoe
A cli-based tictactoe game to play with the computer.
[Rounak Vyas](http://www.github.com/itsron717) + +- invisiblecloak
+ Captures a scenary and then cloaks any red cloth or red foreground. Made with OpenCV and numpy.
+ [Akash Ramjyothi](https://github.com/Akash-Ramjyothi) \ No newline at end of file diff --git a/scripts/invisiblecloak/README.md b/scripts/invisiblecloak/README.md new file mode 100644 index 0000000..a8ddfb8 --- /dev/null +++ b/scripts/invisiblecloak/README.md @@ -0,0 +1,6 @@ +# Invisibility-Cloak + +Captures a scenary and then cloaks any red cloth or red foreground. Made with OpenCV and numpy. + +## Usage +`python main.py` diff --git a/scripts/invisiblecloak/main.py b/scripts/invisiblecloak/main.py new file mode 100644 index 0000000..1f1b1ca --- /dev/null +++ b/scripts/invisiblecloak/main.py @@ -0,0 +1,37 @@ +import cv2 +import numpy as np +import time + +cap = cv2.VideoCapture(0) +time.sleep(3) +background = 0 +for i in range(30): + ret, background = cap.read() + +background = np.flip(background, axis=1) + +while (cap.isOpened()): + ret, img = cap.read() + + img = np.flip(img, axis=1) + hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) + value = (35, 35) + blurred = cv2.GaussianBlur(hsv, value, 0) + lower_red = np.array([0,120,70]) + upper_red = np.array([10, 255, 255]) + mask1 = cv2.inRange(hsv, lower_red, upper_red) + + lower_red = np.array([170,120,70]) + upper_red = np.array([180, 255, 255]) + mask2 = cv2.inRange(hsv, lower_red, upper_red) + + mask = mask1 + mask2 + mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, np.ones((5, 5), np.uint8)) + + img[np.where(mask == 255)] = background[np.where(mask == 255)] + cv2.imshow('Display', img) + k = cv2.waitKey(10) + if k == ord('q'): + break +cap.release() +cv2.destroyAllWindows() \ No newline at end of file