From 2ef91ff12055787d89f2a5aa10183097ecf5de57 Mon Sep 17 00:00:00 2001 From: Akash-Ramjyothi Date: Mon, 5 Oct 2020 03:27:42 +0530 Subject: [PATCH 1/2] Added InvisibleCloak Script --- scripts/README.md | 4 ++++ scripts/invisiblecloak/README.md | 7 ++++++ scripts/invisiblecloak/main.py | 37 ++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 scripts/invisiblecloak/README.md create mode 100644 scripts/invisiblecloak/main.py 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..e06e412 --- /dev/null +++ b/scripts/invisiblecloak/README.md @@ -0,0 +1,7 @@ +# Invisibility-Cloak + +## Description: +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 From 0b765f1c2d5ffd3dc7f743a6c4147281360fcc2f Mon Sep 17 00:00:00 2001 From: Akash-Ramjyothi <54114888+Akash-Ramjyothi@users.noreply.github.com> Date: Mon, 5 Oct 2020 03:30:52 +0530 Subject: [PATCH 2/2] Update README.md --- scripts/invisiblecloak/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/invisiblecloak/README.md b/scripts/invisiblecloak/README.md index e06e412..a8ddfb8 100644 --- a/scripts/invisiblecloak/README.md +++ b/scripts/invisiblecloak/README.md @@ -1,6 +1,5 @@ # Invisibility-Cloak -## Description: Captures a scenary and then cloaks any red cloth or red foreground. Made with OpenCV and numpy. ## Usage