Invisible Cloak of Potter With Python
by theAkash2509 in Circuits > Software
1008 Views, 7 Favorites, 0 Comments
Invisible Cloak of Potter With Python
![harry-potter.jpg](/proxy/?url=https://content.instructables.com/FD7/CAQB/KD7DSJGI/FD7CAQBKD7DSJGI.jpg&filename=harry-potter.jpg)
Who does not want to acquire super power? Super power of being INVISIBLE? YES you can do so with just a few lines of codes .So what are you waiting for ? Prepare yourself for the surprise . Lets get started.......
Its a simple computer vision technique which create a magical effect . The technique is called color detection and segmentation. Here we will be using Red colored cloth to use as a cloak . You can also use green or blue or any colored clothes with some minute changes in the code and create that magical effect .
Install Python
![jup.JPG](/proxy/?url=https://content.instructables.com/FHY/VP2Y/KD7DSJOO/FHYVP2YKD7DSJOO.jpg&filename=jup.JPG)
First You have to make sure that you have python installed in your device , might be python 3 or have Jupyter Notebook . I have done my project in Jupyter Notebook. It provides a simple browser based IDE for python to do your coding stuffs.
You can download from this link - https://www.anaconda.com/products/individual
Install OpenCV
![cv.JPG](/proxy/?url=https://content.instructables.com/FLS/M9AD/KD7DSK02/FLSM9ADKD7DSK02.jpg&filename=cv.JPG)
After that you have to install OpenCV . Open Jupyter Notebook and write the following command to install the required OpenCV modules :-
pip install opencv-python
I have already installed OpenCV , so it is showing :- Requirement already satisfied.
Algorithm to Be Used
![determining_object_color_result.gif](/proxy/?url=https://content.instructables.com/F5N/CCHM/KD7DSL2N/F5NCCHMKD7DSL2N.gif&filename=determining_object_color_result.gif)
- Give some time to Capture the background frame.
-
Now detection of red/green/blue color using color detection and segmentation algo.
-
Segment out the red/green/blue colored cloth .
-
Now show the final magical output.
Magical Code
![hsv.JPG](/proxy/?url=https://content.instructables.com/FJU/5WIL/KDA8NDDJ/FJU5WILKDA8NDDJ.jpg&filename=hsv.JPG)
#Invisible Cloak By A.D import numpy as np import cv2 import time capture=cv2.VideoCapture(0) fourcc = cv2.VideoWriter_fourcc(*'XVID') final = cv2.VideoWriter('pOtterF.avi' , fourcc, 20.0, (640,480)) time.sleep(2) background = 0 #capture the background for i in range(30): ret, background = capture.read()#capture the image while(capture.isOpened()): ret, img = capture.read() if not ret: break hsv=cv2.cvtColor(img, cv2.COLOR_BGR2HSV) #for red lower_red = np.array([0,120,70]) upper_red = np.array([20,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) #for Green comment out the above 6 lines of code for red color and use the following three lines # lower_green = np.array([25,52,72]) # upper_green = np.array([102,255,255]) # mask1 = cv2.inRange(hsv , lower_green , upper_green) #for blue comment out the above 6 lines of code for red color and use the following three lines #lower_blue = np.array([94, 80, 2]) #upper_blue = np.array([126, 255, 255]) #mask1 = cv2.inRange(hsv , lower_blue , upper_blue) mask1=mask1+mask2 # for green and blue remove this line 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 = 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) final.write(final_output) cv2.imshow('pOtterF' , final_output) if cv2.waitKey(1) & 0xFF == ord('q'): #press 'q' to close the window break capture.release() final.release() cv2.destroyAllWindows()
Now Enjoy the Magic
![WhatsApp Image 2020-08-08 at 20.04.06.jpeg](/proxy/?url=https://content.instructables.com/FM6/M44X/KDLO6PGL/FM6M44XKDLO6PGL.jpg&filename=WhatsApp Image 2020-08-08 at 20.04.06.jpeg)
After you run the code wait for some time for the web cam to capture the background. Then you enter the scene with your RED/GREEN/BLUE cloak and enjoy the super power of being invisible .