├── .github ├── FUNDING.yml └── ISSUE_TEMPLATE │ └── feature_request.md ├── .gitignore ├── .idea ├── .gitignore ├── Project_Exodus.iml ├── inspectionProfiles │ ├── Project_Default.xml │ └── profiles_settings.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── Banned_People.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Camera_Covered_Values.txt ├── Face_Detection.py ├── Faces ├── May Hammond.jpg ├── Sameul Jacobs.jpg ├── Test Subject 001.jpg └── Xinguan Chin.jpg ├── Icons ├── Capture.PNG ├── Run_As_Admin.png ├── Search_Box.jpg ├── Start_Button.PNG └── ss.PNG ├── LICENSE ├── Open.png ├── README.md ├── Sub_Modules_Detection.py ├── The Hacker Playbook - Practical Guide To Penetration Testing.pdf ├── Unknown_Access ├── Face │ └── 123.jpeg ├── Face_Encodings.txt └── Faces │ └── 123.jpeg ├── User_Access_Log_Name.txt ├── User_Access_Log_Time.txt ├── camera_adjustment.py ├── dataset_faces.dat ├── requirements.txt └── unlock-screen.py /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | 4 | patreon: MuneebAhmad 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/Project_Exodus.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 26 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Banned_People.txt: -------------------------------------------------------------------------------- 1 | Muneeb Ahmad 2 | Unknown 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at muneebkhurram9@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution to the Project 2 | 3 | If you are intrested in this project and you want to contribute to this, you can add a feature request about what you want to contribute and I will send you a Discord Request, 4 | and we will see together how we can contribute to make this project better. 5 | 6 | ## Other Info 7 | 8 | By Contributing, your name will be added to a list of contributers. 9 | 10 | ### Else 11 | 12 | Idk, what I am writing, you can contact me at discord here :) muneebkhurram#5912 13 | Enjoy [-] 14 | -------------------------------------------------------------------------------- /Camera_Covered_Values.txt: -------------------------------------------------------------------------------- 1 | 8.544075031541876,0.496829774326574 2 | -------------------------------------------------------------------------------- /Face_Detection.py: -------------------------------------------------------------------------------- 1 | import face_recognition 2 | import cv2 3 | import numpy as np 4 | from Sub_Modules_Detection import * 5 | import secrets 6 | import datetime 7 | import os 8 | import ctypes 9 | import pyttsx3 10 | import random 11 | import pickle 12 | # This is a demo of running face recognition on live video from your webcam. It's a little more complicated than the 13 | # other example, but it includes some basic performance tweaks to make things run a lot faster: 14 | # 1. Process each video frame at 1/4 resolution (though still display it at full resolution) 15 | # 2. Only detect faces in every other frame of video. 16 | # Mean Stuff 2 Say 17 | # PLEASE NOTE: This example requires OpenCV (the `cv2` library) to be installed only to read from your webcam. 18 | # OpenCV is *not* required to use the face_recognition library. It's only required if you want to run this 19 | # specific demo. If you have trouble installing it, try any of the other demos that don't require it instead. 20 | 21 | # Get a reference to webcam #0 (the default one) 22 | video_capture = cv2.VideoCapture(0) 23 | 24 | # Create arrays of known face encodings and their names 25 | # Encodings go here 26 | known_face_encodings = [] 27 | # Face Names go Here 28 | 29 | names, path = Get_Files('./Faces') 30 | known_face_names = names 31 | for element in path: 32 | try: 33 | encoding = Encoding(f'./Faces/{element}') 34 | known_face_encodings.append(encoding) 35 | except: 36 | continue 37 | print(known_face_names) 38 | print(known_face_encodings) 39 | def sharpness(img): 40 | img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 41 | lap = cv2.Laplacian(img, cv2.CV_16S) 42 | mean, stddev = cv2.meanStdDev(lap) 43 | return stddev[0,0] 44 | # Initialize some variables 45 | face_locations = [] 46 | face_encodings = [] 47 | face_names = [] 48 | process_this_frame = True 49 | all_unknown_encodings = [] 50 | while True: 51 | # Grab a single frame of video 52 | # Just Ignore this Line :) rtsp://admin:12345678a@192.168.10.13:554/Streaming/channels/101/ 53 | #video_capture.open('') 54 | 55 | ret, frame = video_capture.read() 56 | with open('./Camera_Covered_Values.txt', 'r+') as corrupt: 57 | data = corrupt.read() 58 | correct_data = data.split(',') 59 | covered = correct_data[1] 60 | if int(sharpness(frame)) <= float(covered): 61 | ctypes.windll.user32.LockWorkStation() 62 | say('Locked u Bitch, Try Covering ur screen now') 63 | 64 | # Resize frame of video to 1/4 size for faster face recognition processing 65 | small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25) 66 | 67 | # Convert the image from BGR color (which OpenCV uses) to RGB color (which face_recognition uses) 68 | rgb_small_frame = small_frame[:, :, ::-1] 69 | 70 | # Only process every other frame of video to save time 71 | if process_this_frame: 72 | # Find all the faces and face encodings in the current frame of video 73 | face_locations = face_recognition.face_locations(rgb_small_frame) 74 | face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations) 75 | 76 | face_names = [] 77 | for face_encoding in face_encodings: 78 | # See if the face is a match for the known face(s) 79 | matches = face_recognition.compare_faces(known_face_encodings, face_encoding) 80 | name = "Unknown" 81 | 82 | # # If a match was found in known_face_encodings, just use the first one. 83 | # if True in matches: 84 | # first_match_index = matches.index(True) 85 | # name = known_face_names[first_match_index] 86 | 87 | # Or instead, use the known face with the smallest distance to the new face 88 | face_distances = face_recognition.face_distance(known_face_encodings, face_encoding) 89 | best_match_index = np.argmin(face_distances) 90 | if matches[best_match_index]: 91 | name = known_face_names[best_match_index] 92 | face_names.append(name) 93 | 94 | process_this_frame = not process_this_frame 95 | 96 | 97 | # Display the results 98 | for (top, right, bottom, left), name in zip(face_locations, face_names): 99 | # Scale back up face locations since the frame we detected in was scaled to 1/4 size 100 | top *= 4 101 | right *= 4 102 | bottom *= 4 103 | left *= 4 104 | if 'Unknown' in face_names: 105 | print('Unknown User Detected') 106 | password = secrets.token_urlsafe(32) 107 | cv2.imwrite(f'./Unknown_Access/Faces/unknown_person{password}.jpg', frame) 108 | try: 109 | # Making a face_encoding of the unknown_person in view of the camera 110 | encoding_unknown = Encoding(f'./Unknown_Access/Faces/unknown_person{password}.jpg') 111 | all_unknown_encodings.append(encoding_unknown) 112 | # Adding Encodings to the Simple .txt File 113 | f = open('./Unknown_Access/Face_Encodings.txt', 'a') 114 | f.write(f'{encoding_unknown} sep {password} sep [Type Name Here] \n') 115 | f.close() 116 | except: 117 | print("Failed to Encode - ;)") 118 | f = open('./Unknown_Access/Face_Encodings.txt', 'r') 119 | data = f.read().split('\n') 120 | f.close() 121 | 122 | # Adding Encoding() to the pickle file for further re-processing. Make sure this Folder is not Tampered with Especially this File 123 | # Could be Tampered with to exec() malicious code in the memory. See: https://intoli.com/blog/dangerous-pickles/ 124 | f = open('dataset_faces.dat', 'a+') 125 | f.close() 126 | with open('dataset_faces.dat', 'ab') as f: 127 | pickle.dump(all_unknown_encodings, f) 128 | else: 129 | f = open('User_Access_Log_Name.txt', 'a+') 130 | for element in face_names: 131 | f.write(f'{element} - {datetime.datetime.now()}\n') 132 | f.close() 133 | f = open('User_Access_Log_Time.txt', 'a+') 134 | f.write(f'{datetime.datetime.now()}\n') 135 | f.close() 136 | f = open('Banned_People.txt', 'r+') 137 | data = f.read() 138 | data = data.split('\n') 139 | print(data) 140 | f.close() 141 | for element_banned in data: 142 | for element_names in face_names: 143 | if element_names in element_banned: 144 | user32 = ctypes.windll.User32 145 | if is_locked() == True: 146 | print(face_names) 147 | if face_names == []: 148 | print("No Faces in the image ;)") 149 | else: 150 | stuff = mean_stuff_2_say() 151 | say(stuff) 152 | else: 153 | say(f"Computer is gonna be locked, You are not Verified, You are Banned {element_names} .....") 154 | ctypes.windll.user32.LockWorkStation() 155 | 156 | # Draw a box around the face 157 | cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2) 158 | 159 | # Draw a label with a name below the face 160 | cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED) 161 | font = cv2.FONT_HERSHEY_DUPLEX 162 | cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1) 163 | 164 | # Display the resulting image 165 | cv2.imshow('Face Detection Algorithm (C) 2020 Muneeb Ahmad - {PK-TR}', frame) 166 | 167 | # Hit 'q' on the keyboard to quit! -- Remove this Line 2 make it impossible to quit ;) 168 | if cv2.waitKey(1) & 0xFF == ord('q'): 169 | break 170 | 171 | # Release handle to the webcam 172 | video_capture.release() 173 | cv2.destroyAllWindows() 174 | -------------------------------------------------------------------------------- /Faces/May Hammond.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Faces/May Hammond.jpg -------------------------------------------------------------------------------- /Faces/Sameul Jacobs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Faces/Sameul Jacobs.jpg -------------------------------------------------------------------------------- /Faces/Test Subject 001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Faces/Test Subject 001.jpg -------------------------------------------------------------------------------- /Faces/Xinguan Chin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Faces/Xinguan Chin.jpg -------------------------------------------------------------------------------- /Icons/Capture.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Icons/Capture.PNG -------------------------------------------------------------------------------- /Icons/Run_As_Admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Icons/Run_As_Admin.png -------------------------------------------------------------------------------- /Icons/Search_Box.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Icons/Search_Box.jpg -------------------------------------------------------------------------------- /Icons/Start_Button.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Icons/Start_Button.PNG -------------------------------------------------------------------------------- /Icons/ss.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Icons/ss.PNG -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Muneeb Ahmad 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/Open.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Project_Exodus 2 | Face Detection Safety System for Windows, MacOS and Linux, by Muneeb Khurram. 3 | 4 | ## Project Intro (Working) 5 | 6 | This Project uses the Python 3.6 **face_recognition** library and detects the face infront of the webcam of the computer, if the user is detected as allowed and is in, 7 | the `./Faces` Folder and its name is the Name of the Face or Could be the ID, whatever you prefer it allows and if the added ID is Blocked in the `Banned_Faces.txt` file, 8 | then it locks, the computer and if that person is still infront of the computer then, it says mean words to that person like, `"Out of all the Calculations my AI has done, 9 | you have no chance of surviving in the universe"`. So it is really cool and is *Good for Memes* as well. Further working is being done, and if there is a nice feature or, 10 | a meme u want to add be sure to tell me what it shoud be ;) 11 | 12 | 13 | ## Installation 14 | Installing this is *Straightforward* on Linux and MacOS and Windows, as long as you follow my `instructions`. 15 | 16 | ### Requirements 17 | 18 | - `Python 3.6` [This Version Only, unless u can somehow `install dlib`] 19 | - `pip` 20 | - `dlib` 21 | - `numpy` 22 | - `face_recognition` 23 | - `opencv-python` 24 | - `pyttsx3` 25 | - `psutil` 26 | 27 | These are the requirements of installing this on your Windows Machine. In Depth Procedure is given below. 28 | 29 | ### System Requiremets 30 | 31 | *4GB-6GB RAM DDR4* ~ Less will also Do (Hopefully) 32 | *Intel HD 620 Graphics* ~ If u have a GPU, then make sure to install face_recognition with GPU not CPU [PyPI Page](https://pypi.org/project/face-recognition/) 33 | *7th - Infinte Gen* 34 | 35 | ### Procedure 36 | 37 | 1. Download and Install [Python 3.6](https://www.python.org/downloads/release/python-360/) 38 | 2. When Installing Python 3.6 Select `Add pip to PATH` option. 39 | 3. Open cmd or powershell Admin and type `pip install cmake` 40 | 4. After that type: 41 | 42 | `pip install https://pypi.python.org/packages/da/06/bd3e241c4eb0a662914b3b4875fc52dd176a9db0d4a2c915ac2ad8800e9e/dlib-19.7.0-cp36-cp36m-win_amd64.whl#md5=b7330a5b2d46420343fbed5df69e6a3f` 43 | 44 | [Dlib Install Steps See:](https://stackoverflow.com/questions/41912372/dlib-installation-on-windows-10) 45 | 46 | This should do the trick and save you from of Install of Visual Studio SDK. No need to say thankyou! 47 | If you are on MacOS and Linux, you will not have this Problem. But if you are bent upon not using Python 3.6 48 | for whatever reason, here are the steps to install dlib on Windows 10, https://medium.com/analytics-vidhya/how-to-install-dlib-library-for-python-in-windows-10-57348ba1117f#:~:text=%20How%20to%20install%20dlib%20library%20for%20Python,environment.%20First%20of%20all%2C%20you%20need...%20More%20 49 | Again, no need to say that you :)! 50 | 51 | 5. After that Install [Git](https://git-scm.com/). 52 | 53 | 6. Type in the terminal `git clone https://github.com/UBISOFT-1/Project_Exodus.git` 54 | 55 | 7. Then type `cd Project_Exodus` or press open terminal here. 56 | 57 | 8. Type `pip install -r requirements.txt` 58 | 59 | 9. Thats all, I hope so ;) 60 | 61 | ## Usage 62 | 63 | *After this you have done all that had to be done to make it run.* 64 | 65 | Now, the **FUN** Part. 66 | 67 | ### Basic Usage 68 | You will see the Faces Folder, open the Folder and add the Faces, you want to add, it will auto detect them when they come in front of the Webcam. 69 | If there is a user that you do not know of, means there is no picture of him in the Faces Folder, it will add its photo onto the Unknown_Access folder, so u can see. 70 | 71 | **Most Importantly**, It saves their Face Encodings, Features in the `./Unknown_Access/Face_Encoding.txt` for further refrence and for other tools to process. 72 | 73 | ### Ban a Person 74 | 75 | To *Restrict/Ban* a man from using your device or being infront of the webcam, go to the Banned_People.txt file and add the name of the Picture you saved in the `./Faces` Folder. 76 | 77 | **Note**: Name the Pictures with an ID like User_001.jpg or *.JPEG or *.PNG or *.png and make it easy like I added mine as Muneeb Khurram.jpg so it detects me as Muneeb Khurram. 78 | 79 | Then just add the First Part of the Image name in the `Banned_People.txt` as Muneeb Khurram for `Muneeb Khurram.jpeg`, hope you get the point. 80 | 81 | ## Activate the Anti-Cover Feature in your Camera 82 | 83 | This is a really big feature in this new version Update 1.0. What is does is that it locks the PC if you are covering your Camera Lens, 84 | Previously, in Project Exodus, if the attacker knew about the Admin Password, he could cover the camera and evade this, but in this version 85 | we have stopped, this, to some extent it can even stop some malware as it keeps on locking. 86 | 87 | ### Procedure 88 | 89 | 1) Open the Folder of Project Exodus by `cd Project_Exodus` 90 | 2) Then, type `python3 camera_adjustment.py` 91 | 3) This will now open a Voice Driven Tutorial, 92 | 4) First it will ask you which camera are u using, if you have more than one connected camera's 93 | 94 | **Note** If you want to use the default camera then press 0 or else select from the numbers provided above. 95 | 96 | Then, take a photo in normal condition with your camera, after that take a photo with your lens 97 | covered. And this should do the trick. :) 98 | 99 | **Note** See the Demo Below, Trust me it is easy AF. 100 | 101 | 102 | # DEMO: 103 | https://youtu.be/g5TGesFdI_4 104 | [![Watch the video](https://img.youtube.com/vi/g5TGesFdI_4/maxresdefault.jpg)](https://youtu.be/g5TGesFdI_4) 105 | 106 | :) 107 | 108 | When you are in the Folder, type `python Face_Detection.py` and thats it ;) 109 | 110 | Happy Secure Safe Computer :) 111 | # Connect a IP Webcam 112 | 113 | This features works, even over the internet, and if the user enter the room it locks the PC, tested it on a Camera 1000 Km 114 | away from my Home :), Works like a charm. Used HikVision Camera's. 115 | 116 | *Note* 117 | Still Working on that Feature :) 118 | 119 | # New Features (Upcoming) 120 | - Detect if Camera is being Covered ;) (Almost Complete/Possible) 121 | - Connect IP Webcam (Under Dev/Possible) 122 | - Option to process the image in personal Google Colab of user for seamless experience (Trying/Possible) 123 | 124 | https://youtu.be/IzgP8fH1QzY 125 | [Old Video] - [Check the Above Video] 126 | [![Watch the video](https://img.youtube.com/vi/53zBcWRqG1E/maxresdefault.jpg)](https://youtu.be/53zBcWRqG1E) 127 | 128 | # License 129 | MIT - (C) 2020 Muneeb Ahmad 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /Sub_Modules_Detection.py: -------------------------------------------------------------------------------- 1 | import os 2 | import face_recognition 3 | import pyttsx3 4 | import psutil 5 | import random 6 | def Get_Files(path_to_folder): 7 | extensions = ['.jpg', '.JPG', '.jpeg', '.JPEG','.png', '.PNG'] 8 | good_images = [] 9 | files = os.listdir(path_to_folder) 10 | for element in files: 11 | for extension in extensions: 12 | if extension in element: 13 | good_images.append(element) 14 | names = [] 15 | for element in good_images: 16 | for stuff in extensions: 17 | if stuff not in element: 18 | continue 19 | else: 20 | meth = element.replace(f'{stuff}', '') 21 | names.append(meth) 22 | return names, good_images 23 | 24 | def Encoding(image_path): 25 | image = face_recognition.load_image_file(f"{image_path}") 26 | encoding = face_recognition.face_encodings(image)[0] 27 | print(encoding) 28 | return encoding 29 | def say(text_to_say): 30 | engine = pyttsx3.init() 31 | engine.say(f"{text_to_say}") 32 | engine.runAndWait() 33 | print("....") 34 | def is_locked(): 35 | for proc in psutil.process_iter(): 36 | if(proc.name() == "LogonUI.exe"): 37 | return True 38 | mean_stuff = ['Get your face off fool, makes me wanna throw up!', 'Out of all the possibilties my AI has calculated, there is no chance in the universe for you to survive', 'You are a dissappointment, a disgrace.', 'Why am I even doing this', 'Look, whose here blithering Idiot, get ur nasty asian face off'] 39 | def mean_stuff_2_say(): 40 | stuff_2_say = random.choice(mean_stuff) 41 | stuff_2_say = random.choice(mean_stuff) 42 | return stuff_2_say 43 | -------------------------------------------------------------------------------- /The Hacker Playbook - Practical Guide To Penetration Testing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/The Hacker Playbook - Practical Guide To Penetration Testing.pdf -------------------------------------------------------------------------------- /Unknown_Access/Face/123.jpeg: -------------------------------------------------------------------------------- 1 | Its a JPEG File U Dummy. 2 | -------------------------------------------------------------------------------- /Unknown_Access/Faces/123.jpeg: -------------------------------------------------------------------------------- 1 | Its a JPEG File! If you Found this. Create a Feature Request and will add your name in the Hall of Fame in the README.md 2 | 3 | -------------------------------------------------------------------------------- /User_Access_Log_Name.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /User_Access_Log_Time.txt: -------------------------------------------------------------------------------- 1 | 2020-10-19 14:01:07.923687 2 | 2020-10-19 14:01:07.971841 3 | 2020-10-19 14:01:08.361251 4 | 2020-10-19 14:01:08.367192 5 | 2020-10-19 14:01:08.743921 6 | 2020-10-19 14:01:08.749091 7 | 2020-10-19 14:01:09.133289 8 | 2020-10-19 14:01:09.139096 9 | 2020-10-19 14:01:09.537674 10 | 2020-10-19 14:01:09.542581 11 | 2020-10-19 14:01:09.942629 12 | 2020-10-19 14:01:09.947509 13 | 2020-10-19 14:01:10.356508 14 | 2020-10-19 14:01:10.362366 15 | 2020-10-19 14:01:10.731291 16 | 2020-10-19 14:01:10.737149 17 | 2020-10-19 14:01:11.118781 18 | 2020-10-19 14:01:11.124633 19 | 2020-10-19 14:01:11.522208 20 | 2020-10-19 14:01:11.528064 21 | 2020-10-19 14:01:11.949695 22 | 2020-10-19 14:01:11.956527 23 | 2020-10-19 14:01:12.331321 24 | 2020-10-19 14:01:12.336189 25 | 2020-10-19 14:01:12.731505 26 | 2020-10-19 14:01:12.738424 27 | 2020-10-19 14:01:13.145240 28 | 2020-10-19 14:01:13.153047 29 | 2020-10-19 14:01:13.568454 30 | 2020-10-19 14:01:13.585015 31 | 2020-10-19 14:01:14.036895 32 | 2020-10-19 14:01:14.042754 33 | 2020-10-19 14:01:14.474026 34 | 2020-10-19 14:01:14.479883 35 | 2020-10-19 14:01:14.850762 36 | 2020-10-19 14:01:14.857596 37 | 2020-10-19 14:01:15.244436 38 | 2020-10-19 14:01:15.251270 39 | 2020-10-19 14:01:15.667251 40 | 2020-10-19 14:01:15.672132 41 | 2020-10-19 14:01:16.060579 42 | 2020-10-19 14:01:16.065481 43 | 2020-10-19 14:01:16.465630 44 | 2020-10-19 14:01:16.471779 45 | 2020-10-19 14:01:16.920187 46 | 2020-10-19 14:01:16.926044 47 | 2020-10-19 14:01:17.341826 48 | 2020-10-19 14:01:17.352555 49 | 2020-10-19 14:01:17.751744 50 | 2020-10-19 14:01:17.757622 51 | 2020-10-19 14:01:18.143467 52 | 2020-10-19 14:01:18.149324 53 | 2020-10-19 14:01:18.546621 54 | 2020-10-19 14:01:18.552450 55 | 2020-10-19 14:02:28.939583 56 | 2020-10-19 14:02:28.945437 57 | 2020-10-19 14:02:29.337118 58 | 2020-10-19 14:02:29.342025 59 | 2020-10-19 14:02:29.745820 60 | 2020-10-19 14:02:29.751677 61 | 2020-10-19 14:02:30.140846 62 | 2020-10-19 14:02:30.146671 63 | 2020-10-19 14:02:30.537824 64 | 2020-10-19 14:02:30.544643 65 | 2020-10-19 14:02:30.936975 66 | 2020-10-19 14:02:30.942478 67 | 2020-10-19 14:02:31.318659 68 | 2020-10-19 14:02:31.324521 69 | 2020-10-19 14:02:31.734100 70 | 2020-10-19 14:02:31.739026 71 | 2020-10-19 14:02:32.133309 72 | 2020-10-19 14:02:32.138190 73 | 2020-10-19 14:02:32.526899 74 | 2020-10-19 14:02:32.532755 75 | 2020-10-19 14:02:32.953823 76 | 2020-10-19 14:02:32.959682 77 | 2020-10-19 14:02:33.343304 78 | 2020-10-19 14:02:33.348189 79 | 2020-10-19 14:02:33.753851 80 | 2020-10-19 14:02:33.758731 81 | 2020-10-19 14:02:34.202124 82 | 2020-10-19 14:02:34.207983 83 | 2020-10-19 14:02:34.597162 84 | 2020-10-19 14:02:34.603057 85 | 2020-10-19 14:02:34.996840 86 | 2020-10-19 14:02:35.004652 87 | 2020-10-19 14:02:35.380415 88 | 2020-10-19 14:02:35.385306 89 | 2020-10-19 14:02:35.769993 90 | 2020-10-19 14:02:35.775850 91 | 2020-10-19 14:03:04.797764 92 | 2020-10-19 14:03:09.035765 93 | 2020-10-19 14:03:09.802059 94 | 2020-10-19 14:03:13.186211 95 | 2020-10-19 14:03:17.112492 96 | 2020-10-19 14:03:20.382103 97 | 2020-10-19 14:03:29.238106 98 | 2020-10-19 14:03:32.506104 99 | 2020-10-19 14:03:39.364301 100 | 2020-10-19 14:03:42.640937 101 | 2020-10-19 14:03:55.879679 102 | 2020-10-19 14:03:59.146631 103 | 2020-10-19 14:04:12.471970 104 | 2020-10-19 14:04:15.741415 105 | 2020-10-19 14:06:25.186905 106 | 2020-10-19 14:06:29.995813 107 | 2020-10-19 14:12:39.827891 108 | 2020-10-19 14:12:39.901832 109 | 2020-10-19 14:12:40.292227 110 | 2020-10-19 14:12:40.297454 111 | 2020-10-19 14:12:40.685479 112 | 2020-10-19 14:12:40.691338 113 | 2020-10-19 14:12:41.076170 114 | 2020-10-19 14:12:41.082373 115 | 2020-10-19 14:12:41.481060 116 | 2020-10-19 14:12:41.486919 117 | 2020-10-19 14:12:41.882114 118 | 2020-10-19 14:12:41.887972 119 | 2020-10-19 14:12:42.283250 120 | 2020-10-19 14:12:42.288383 121 | 2020-10-19 14:12:42.658285 122 | 2020-10-19 14:12:42.664143 123 | 2020-10-19 14:12:43.061141 124 | 2020-10-19 14:12:43.067024 125 | 2020-10-19 14:12:43.469283 126 | 2020-10-19 14:12:43.475145 127 | 2020-10-19 14:12:43.928390 128 | 2020-10-19 14:12:43.933269 129 | 2020-10-19 14:12:44.326597 130 | 2020-10-19 14:12:44.331477 131 | 2020-10-19 14:12:44.719430 132 | 2020-10-19 14:12:44.724345 133 | 2020-10-19 14:12:45.119691 134 | 2020-10-19 14:12:45.125520 135 | 2020-10-19 14:12:45.520033 136 | 2020-10-19 14:12:45.524979 137 | 2020-10-19 14:12:45.917646 138 | 2020-10-19 14:12:45.923502 139 | 2020-10-19 14:12:46.307067 140 | 2020-10-19 14:12:46.312922 141 | 2020-10-19 14:12:46.705310 142 | 2020-10-19 14:12:46.711168 143 | 2020-10-19 14:12:47.106098 144 | 2020-10-19 14:12:47.110999 145 | 2020-10-19 14:12:47.527225 146 | 2020-10-19 14:12:47.533082 147 | 2020-10-19 14:12:47.913915 148 | 2020-10-19 14:12:47.920751 149 | 2020-10-19 14:12:48.291626 150 | 2020-10-19 14:12:48.297482 151 | 2020-10-19 14:12:48.689381 152 | 2020-10-19 14:12:48.695236 153 | 2020-10-19 14:12:49.103383 154 | 2020-10-19 14:12:49.109242 155 | 2020-10-19 14:12:49.553318 156 | 2020-10-19 14:12:49.558199 157 | 2020-10-19 14:12:50.001081 158 | 2020-10-19 14:12:50.006905 159 | 2020-10-19 14:12:50.412386 160 | 2020-10-19 14:12:50.418237 161 | 2020-10-19 14:12:51.290799 162 | 2020-10-19 14:12:51.296655 163 | 2020-10-19 14:12:51.773937 164 | 2020-10-19 14:12:51.779793 165 | 2020-10-19 14:12:52.284405 166 | 2020-10-19 14:12:52.291237 167 | 2020-10-19 14:12:52.721641 168 | 2020-10-19 14:12:52.726522 169 | 2020-10-19 14:12:53.144914 170 | 2020-10-19 14:12:53.149798 171 | 2020-10-19 14:12:55.627895 172 | 2020-10-19 14:12:55.632754 173 | 2020-10-19 14:12:56.053424 174 | 2020-10-19 14:12:56.058294 175 | 2020-10-19 14:12:56.454432 176 | 2020-10-19 14:12:56.459339 177 | 2020-10-19 14:12:56.914133 178 | 2020-10-19 14:12:56.919991 179 | 2020-10-19 14:13:12.907917 180 | 2020-10-19 14:13:12.913767 181 | 2020-10-19 14:13:13.286011 182 | 2020-10-19 14:13:13.293819 183 | 2020-10-19 14:13:13.658871 184 | 2020-10-19 14:13:13.664724 185 | 2020-10-19 14:13:14.058687 186 | 2020-10-19 14:13:14.063601 187 | 2020-10-19 14:13:14.460144 188 | 2020-10-19 14:13:14.465966 189 | 2020-10-19 14:13:14.838797 190 | 2020-10-19 14:13:14.844652 191 | 2020-10-19 14:13:15.215532 192 | 2020-10-19 14:13:15.220412 193 | 2020-10-19 14:13:15.604744 194 | 2020-10-19 14:13:15.611576 195 | 2020-10-19 14:13:18.721756 196 | 2020-10-19 14:13:18.727613 197 | 2020-10-19 14:13:22.249529 198 | 2020-10-19 14:13:27.795024 199 | 2020-10-19 14:14:53.959745 200 | 2020-10-19 14:14:58.761826 201 | 2020-10-19 14:15:03.865678 202 | 2020-10-19 14:15:08.489920 203 | 2020-10-19 14:15:13.516738 204 | 2020-10-19 14:15:18.156651 205 | 2020-10-19 14:15:29.924610 206 | 2020-10-19 14:15:29.929489 207 | 2020-10-19 14:15:30.300371 208 | 2020-10-19 14:15:30.307202 209 | 2020-10-19 14:15:42.713117 210 | 2020-10-19 14:15:47.358720 211 | 2020-10-19 14:18:12.214397 212 | 2020-10-19 14:18:16.971851 213 | 2020-10-19 14:19:24.179219 214 | 2020-10-19 14:19:28.932067 215 | 2020-10-19 14:19:33.991050 216 | 2020-10-19 14:19:38.640020 217 | 2020-10-19 14:19:44.199234 218 | 2020-10-19 14:19:48.927589 219 | 2020-10-19 14:19:54.337384 220 | 2020-10-19 14:19:59.084851 221 | 2020-10-19 14:27:39.353191 222 | 2020-10-19 14:27:43.455943 223 | 2020-10-19 14:27:47.749881 224 | 2020-10-19 14:27:51.624355 225 | 2020-10-19 14:28:00.893386 226 | 2020-10-19 14:28:04.771735 227 | 2020-10-19 14:29:13.220893 228 | 2020-10-19 14:29:17.628675 229 | 2020-10-19 14:29:25.597294 230 | 2020-10-19 14:29:29.776633 231 | 2020-10-19 14:29:40.575948 232 | 2020-10-19 14:29:44.754418 233 | 2020-10-19 14:29:54.365442 234 | 2020-10-19 14:29:58.551041 235 | 2020-10-19 14:30:09.890138 236 | 2020-10-19 14:30:14.079487 237 | 2020-10-19 14:30:18.625765 238 | 2020-10-19 14:30:22.812636 239 | 2020-10-19 14:30:28.662747 240 | 2020-10-19 14:30:32.839089 241 | 2020-10-19 14:30:39.211947 242 | 2020-10-19 14:35:13.768417 243 | 2020-10-19 14:35:19.282314 244 | 2020-10-19 14:35:25.247876 245 | 2020-10-19 14:35:29.946380 246 | 2020-10-19 14:35:34.893932 247 | 2020-10-19 14:35:39.457014 248 | 2020-10-19 14:35:44.440832 249 | 2020-10-19 14:35:48.997410 250 | 2020-10-19 14:36:02.724896 251 | 2020-10-19 14:36:07.275001 252 | 2020-10-19 14:36:28.253736 253 | 2020-10-19 14:36:32.798207 254 | 2020-10-19 14:36:37.787932 255 | 2020-10-19 14:36:43.116157 256 | 2020-10-19 14:36:48.756152 257 | 2020-10-19 14:36:53.190689 258 | 2020-10-19 14:37:08.424566 259 | 2020-10-19 14:37:12.865321 260 | 2020-10-19 14:42:05.477016 261 | 2020-10-19 14:42:11.040861 262 | 2020-10-19 14:42:15.637987 263 | 2020-10-19 14:42:18.867968 264 | 2020-10-19 14:43:52.607188 265 | 2020-10-19 14:43:57.739701 266 | 2020-10-19 14:44:01.682470 267 | 2020-10-19 14:45:01.384482 268 | 2020-10-19 14:45:06.520125 269 | 2020-10-19 14:45:10.830699 270 | 2020-10-19 14:49:26.766321 271 | 2020-10-19 14:49:31.564386 272 | 2020-10-19 14:49:36.611752 273 | 2020-10-19 14:49:41.257426 274 | 2020-10-19 14:49:49.112305 275 | 2020-10-19 14:49:53.758277 276 | 2020-10-19 14:49:59.235583 277 | 2020-10-19 14:53:49.993152 278 | 2020-10-19 14:53:54.771512 279 | 2020-10-19 14:54:02.031529 280 | 2020-10-19 14:54:06.680253 281 | 2020-10-19 14:54:13.033565 282 | 2020-10-20 14:35:57.504045 283 | 2020-10-20 14:36:02.743730 284 | 2020-10-20 14:36:10.542136 285 | 2020-10-20 14:36:15.220778 286 | 2020-10-20 14:36:24.081943 287 | 2020-10-20 14:36:28.759884 288 | 2020-10-20 14:36:36.883599 289 | 2020-10-20 14:36:41.526861 290 | 2020-10-20 14:36:52.607411 291 | 2020-10-20 14:36:57.251717 292 | 2020-10-20 14:38:23.557101 293 | 2020-10-20 14:38:28.202631 294 | 2020-10-20 14:38:37.508615 295 | 2020-10-20 14:38:42.163406 296 | 2020-10-20 14:39:22.231094 297 | 2020-10-20 14:39:27.137557 298 | 2020-10-20 14:39:32.468683 299 | 2020-10-20 14:39:37.365477 300 | 2020-10-20 14:39:42.932219 301 | 2020-10-20 14:39:47.586290 302 | 2020-10-20 14:39:53.625736 303 | 2020-10-20 14:39:58.474054 304 | 2020-10-20 14:40:13.248110 305 | 2020-10-20 14:40:18.111808 306 | 2020-10-20 14:40:23.450910 307 | 2020-10-20 14:40:28.274423 308 | 2020-10-20 14:40:38.566916 309 | 2020-10-20 14:40:43.380700 310 | 2020-10-20 14:41:32.454000 311 | 2020-10-20 14:41:37.109562 312 | 2020-10-20 14:43:14.606907 313 | 2020-10-20 14:43:19.437932 314 | 2020-10-20 14:43:38.777724 315 | 2020-10-20 14:43:43.604297 316 | 2020-10-20 14:43:53.233844 317 | 2020-10-20 14:43:57.905305 318 | 2020-10-20 14:48:56.854854 319 | 2020-10-20 14:49:01.533263 320 | 2020-10-20 14:56:21.730053 321 | 2020-10-20 14:56:26.947721 322 | 2020-10-20 14:57:09.037595 323 | 2020-10-20 14:57:14.248066 324 | 2020-10-20 14:59:47.629972 325 | 2020-10-20 15:00:20.113289 326 | 2020-10-20 16:03:17.027291 327 | 2020-10-20 16:03:17.037051 328 | 2020-10-20 16:03:17.783689 329 | 2020-10-20 16:03:17.788568 330 | 2020-10-20 16:03:18.542038 331 | 2020-10-20 16:03:18.547894 332 | 2020-10-20 16:03:19.238901 333 | 2020-10-20 16:03:19.244759 334 | 2020-10-20 16:03:19.888917 335 | 2020-10-20 16:03:19.894773 336 | 2020-10-20 16:03:20.558453 337 | 2020-10-20 16:03:20.569188 338 | 2020-10-20 16:03:21.496385 339 | 2020-10-20 16:03:21.501266 340 | 2020-10-20 16:03:47.519380 341 | 2020-10-20 16:03:47.525236 342 | 2020-10-20 16:03:57.583285 343 | 2020-10-20 16:03:57.608420 344 | 2020-10-20 16:04:06.924578 345 | 2020-10-20 16:04:06.930435 346 | 2020-10-20 16:04:07.480895 347 | 2020-10-20 16:04:07.486754 348 | 2020-10-20 16:04:07.982560 349 | 2020-10-20 16:04:07.987439 350 | 2020-11-01 10:31:34.100324 351 | 2020-11-01 10:31:39.944387 352 | 2020-11-01 10:31:48.409776 353 | 2020-11-01 10:31:56.656480 354 | 2020-11-01 10:32:09.850171 355 | 2020-11-01 10:59:25.604205 356 | 2020-11-01 10:59:31.061512 357 | 2020-11-01 10:59:55.596688 358 | 2020-11-01 11:01:30.887007 359 | 2020-11-01 11:01:36.198702 360 | 2020-11-01 11:02:01.486860 361 | 2020-11-01 11:02:35.578900 362 | 2020-11-01 11:08:00.254525 363 | 2020-11-01 11:08:05.522561 364 | 2020-11-01 11:08:27.479780 365 | 2020-11-01 11:09:32.532957 366 | 2020-11-01 11:09:37.842271 367 | 2020-11-01 11:09:56.289124 368 | 2020-11-01 11:10:01.381065 369 | 2020-11-01 11:11:05.442193 370 | 2020-11-01 11:11:10.695212 371 | 2020-11-01 11:11:59.297830 372 | 2020-11-01 11:12:04.571164 373 | 2020-11-01 11:14:34.253727 374 | 2020-11-01 11:14:39.647167 375 | 2020-11-01 11:15:05.964698 376 | 2020-11-01 11:19:37.943750 377 | 2020-11-01 11:19:42.856158 378 | 2020-11-01 11:19:47.954885 379 | 2020-11-01 11:19:52.638289 380 | 2020-11-01 11:22:52.694551 381 | 2020-11-01 11:22:58.034632 382 | 2020-11-01 11:23:05.325438 383 | 2020-11-01 11:23:10.829828 384 | 2020-11-01 11:23:16.062127 385 | 2020-11-01 11:23:20.376633 386 | 2020-11-01 11:23:26.241480 387 | 2020-11-01 11:23:31.256673 388 | 2020-11-01 11:23:45.225269 389 | 2020-11-01 11:23:50.364263 390 | 2020-11-01 11:29:32.268513 391 | 2020-11-01 11:29:37.559935 392 | 2020-11-01 11:31:29.381947 393 | 2020-11-01 11:31:34.449077 394 | 2020-12-01 21:40:34.961480 395 | 2020-12-01 21:40:34.996388 396 | 2020-12-01 21:40:35.449959 397 | 2020-12-01 21:40:35.469981 398 | 2020-12-01 21:40:36.153976 399 | 2020-12-01 21:40:36.181900 400 | 2020-12-01 21:40:36.933742 401 | 2020-12-01 21:40:36.965656 402 | 2020-12-01 21:40:37.605420 403 | 2020-12-01 21:40:37.632349 404 | 2020-12-01 21:40:38.348780 405 | 2020-12-01 21:40:38.370173 406 | 2020-12-01 21:40:39.082284 407 | 2020-12-01 21:40:39.109215 408 | 2020-12-01 21:40:39.767577 409 | 2020-12-01 21:40:39.793521 410 | 2020-12-01 21:40:40.505950 411 | 2020-12-01 21:40:40.529151 412 | 2020-12-01 21:41:09.519850 413 | 2020-12-01 21:41:09.544784 414 | 2020-12-01 21:41:10.050051 415 | 2020-12-01 21:41:10.065952 416 | 2020-12-01 21:41:10.502109 417 | 2020-12-01 21:41:10.519098 418 | 2020-12-01 21:41:11.117706 419 | 2020-12-01 21:41:11.140256 420 | 2020-12-01 21:41:11.730706 421 | 2020-12-01 21:41:11.749653 422 | 2020-12-01 21:41:12.455012 423 | 2020-12-01 21:41:12.477951 424 | 2020-12-01 21:41:13.199116 425 | 2020-12-01 21:41:13.227703 426 | 2020-12-01 21:41:13.906856 427 | 2020-12-01 21:41:13.928643 428 | 2020-12-01 21:41:14.619848 429 | 2020-12-01 21:41:14.639795 430 | 2020-12-01 21:41:15.366275 431 | 2020-12-01 21:41:15.388664 432 | 2020-12-01 21:41:16.079511 433 | 2020-12-01 21:41:16.105966 434 | 2020-12-01 21:41:16.747978 435 | 2020-12-01 21:41:16.769486 436 | 2020-12-01 21:41:18.122614 437 | 2020-12-01 21:41:18.142989 438 | 2020-12-01 21:41:18.159418 439 | 2020-12-01 21:41:18.181377 440 | 2020-12-01 21:41:19.202948 441 | 2020-12-01 21:41:19.217136 442 | 2020-12-01 21:41:19.233094 443 | 2020-12-01 21:41:19.247175 444 | 2020-12-01 21:41:20.224291 445 | 2020-12-01 21:41:20.242805 446 | 2020-12-01 21:41:20.253754 447 | 2020-12-01 21:41:20.263729 448 | 2020-12-01 21:41:21.531227 449 | 2020-12-01 21:41:21.549177 450 | 2020-12-01 21:41:21.560182 451 | 2020-12-01 21:41:21.574119 452 | 2020-12-01 21:41:22.809418 453 | 2020-12-01 21:41:22.834351 454 | 2020-12-01 21:41:22.851305 455 | 2020-12-01 21:41:22.868260 456 | 2020-12-01 21:41:23.541761 457 | 2020-12-01 21:41:23.567689 458 | 2020-12-01 21:41:24.339014 459 | 2020-12-01 21:41:24.362224 460 | 2020-12-01 21:41:25.146909 461 | 2020-12-01 21:41:25.176829 462 | 2020-12-01 21:41:26.010374 463 | 2020-12-01 21:41:26.040531 464 | 2020-12-01 21:41:26.762377 465 | 2020-12-01 21:41:26.790303 466 | 2020-12-01 21:41:27.630519 467 | 2020-12-01 21:41:27.657448 468 | 2020-12-01 21:41:29.315795 469 | 2020-12-01 21:41:29.341034 470 | 2020-12-01 21:41:29.368950 471 | 2020-12-01 21:41:29.394883 472 | 2020-12-01 21:42:25.422657 473 | 2020-12-01 21:42:25.443352 474 | 2020-12-01 21:42:25.816766 475 | 2020-12-01 21:42:25.838655 476 | 2020-12-01 21:42:26.681651 477 | 2020-12-01 21:42:26.694617 478 | 2020-12-01 21:42:26.708581 479 | 2020-12-01 21:42:26.715102 480 | 2020-12-01 21:42:27.551063 481 | 2020-12-01 21:42:27.564428 482 | 2020-12-01 21:42:27.581241 483 | 2020-12-01 21:42:27.595926 484 | 2020-12-01 21:42:28.501357 485 | 2020-12-01 21:42:28.514323 486 | 2020-12-01 21:42:28.534412 487 | 2020-12-01 21:42:28.545183 488 | 2020-12-01 21:42:29.397189 489 | 2020-12-01 21:42:29.412795 490 | 2020-12-01 21:42:29.429752 491 | 2020-12-01 21:42:29.439773 492 | 2020-12-01 21:42:30.301673 493 | 2020-12-01 21:42:30.316625 494 | 2020-12-01 21:42:30.325541 495 | 2020-12-01 21:42:30.334518 496 | 2020-12-01 21:42:31.217622 497 | 2020-12-01 21:42:31.233581 498 | 2020-12-01 21:42:31.248847 499 | 2020-12-01 21:42:31.256846 500 | 2020-12-01 21:42:32.138579 501 | 2020-12-01 21:42:32.156489 502 | 2020-12-01 21:42:32.169465 503 | 2020-12-01 21:42:32.185412 504 | 2020-12-01 21:42:33.142942 505 | 2020-12-01 21:42:33.157872 506 | 2020-12-01 21:42:33.168843 507 | 2020-12-01 21:42:33.178223 508 | 2020-12-01 21:42:34.582653 509 | 2020-12-01 21:42:34.607694 510 | 2020-12-01 21:42:34.622655 511 | 2020-12-01 21:42:34.636750 512 | 2020-12-01 21:42:35.892737 513 | 2020-12-01 21:42:35.906395 514 | 2020-12-01 21:42:35.914425 515 | 2020-12-01 21:42:35.923398 516 | 2020-12-01 21:42:37.063934 517 | 2020-12-01 21:42:37.083587 518 | 2020-12-01 21:42:37.090606 519 | 2020-12-01 21:42:37.104534 520 | 2020-12-01 21:43:06.992445 521 | 2020-12-01 21:43:07.009531 522 | 2020-12-01 21:43:47.057002 523 | 2020-12-01 21:43:47.077766 524 | 2020-12-01 21:43:47.453893 525 | 2020-12-01 21:43:47.472923 526 | 2020-12-01 21:43:47.868749 527 | 2020-12-01 21:43:47.887301 528 | 2020-12-01 21:43:48.266699 529 | 2020-12-01 21:43:48.284686 530 | 2020-12-01 21:43:48.859547 531 | 2020-12-01 21:43:48.889458 532 | 2020-12-01 21:43:52.434515 533 | 2020-12-01 21:43:52.450470 534 | 2020-12-01 21:43:52.827607 535 | 2020-12-01 21:43:52.845896 536 | 2020-12-01 21:43:53.226033 537 | 2020-12-01 21:43:53.245936 538 | 2020-12-01 21:43:53.617438 539 | 2020-12-01 21:43:53.638024 540 | 2020-12-01 21:43:54.311863 541 | 2020-12-01 21:43:54.330818 542 | 2020-12-01 21:43:55.251194 543 | 2020-12-01 21:43:55.273551 544 | 2020-12-01 21:43:56.200140 545 | 2020-12-01 21:43:59.392461 546 | 2020-12-01 21:44:06.082239 547 | 2020-12-01 21:44:06.101409 548 | 2020-12-01 21:44:07.962609 549 | 2020-12-01 21:44:07.980753 550 | 2020-12-01 21:44:08.374961 551 | 2020-12-01 21:44:08.390712 552 | 2020-12-01 21:44:08.798978 553 | 2020-12-01 21:44:08.821931 554 | 2020-12-01 21:44:09.841459 555 | 2020-12-01 21:44:09.861406 556 | 2020-12-01 21:44:09.872376 557 | 2020-12-01 21:44:09.895372 558 | 2020-12-01 21:45:25.071180 559 | 2020-12-01 21:45:25.091172 560 | 2020-12-01 21:45:25.624852 561 | 2020-12-01 21:45:25.648072 562 | 2020-12-01 21:45:26.133446 563 | 2020-12-01 21:45:26.159523 564 | 2020-12-01 21:45:26.681114 565 | 2020-12-01 21:45:26.701717 566 | 2020-12-01 21:45:28.864289 567 | 2020-12-01 21:45:28.885942 568 | 2020-12-01 21:45:32.742440 569 | 2020-12-01 21:45:32.759670 570 | 2020-12-01 21:45:33.154602 571 | 2020-12-01 21:45:33.168550 572 | 2020-12-01 21:45:33.541636 573 | 2020-12-01 21:45:33.561828 574 | 2020-12-01 21:45:33.941258 575 | 2020-12-01 21:45:33.958583 576 | 2020-12-01 21:45:34.380046 577 | 2020-12-01 21:45:34.400855 578 | 2020-12-01 21:45:35.066979 579 | 2020-12-01 21:45:35.087962 580 | 2020-12-01 21:45:35.666897 581 | 2020-12-01 21:45:35.696811 582 | 2020-12-01 21:45:36.318295 583 | 2020-12-01 21:45:36.345223 584 | 2020-12-01 21:45:37.078316 585 | 2020-12-01 21:45:37.102121 586 | 2020-12-01 21:45:37.793139 587 | 2020-12-01 21:45:37.820069 588 | 2020-12-01 21:45:38.504813 589 | 2020-12-01 21:45:38.529436 590 | 2020-12-01 21:45:39.202856 591 | 2020-12-01 21:45:39.230812 592 | 2020-12-01 21:45:40.007628 593 | 2020-12-01 21:45:40.033753 594 | 2020-12-01 21:45:40.778419 595 | 2020-12-01 21:45:40.815313 596 | 2020-12-01 21:45:42.029355 597 | 2020-12-01 21:45:42.051262 598 | 2020-12-01 21:45:42.796514 599 | 2020-12-01 21:45:42.826436 600 | 2020-12-01 21:45:43.529574 601 | 2020-12-01 21:45:43.555303 602 | 2020-12-01 21:45:44.219139 603 | 2020-12-01 21:45:44.246495 604 | 2020-12-01 21:45:44.983000 605 | 2020-12-01 21:45:45.008438 606 | 2020-12-01 21:45:45.754264 607 | 2020-12-01 21:45:45.779173 608 | 2020-12-01 21:45:46.423431 609 | 2020-12-01 21:45:46.448215 610 | 2020-12-01 21:45:47.131960 611 | 2020-12-01 21:45:47.156471 612 | 2020-12-01 21:45:47.904578 613 | 2020-12-01 21:45:47.935642 614 | 2020-12-01 21:46:11.569698 615 | 2020-12-01 21:46:11.589487 616 | 2020-12-01 21:46:12.615149 617 | 2020-12-01 21:46:12.638075 618 | 2020-12-01 21:46:13.097100 619 | 2020-12-01 21:46:13.113434 620 | 2020-12-01 21:46:13.555524 621 | 2020-12-01 21:46:13.576391 622 | 2020-12-01 21:46:14.376270 623 | 2020-12-01 21:46:14.396372 624 | 2020-12-01 21:46:41.796139 625 | 2020-12-01 21:46:41.811945 626 | 2020-12-01 21:46:42.256883 627 | 2020-12-01 21:46:42.277780 628 | 2020-12-01 21:46:42.906943 629 | 2020-12-01 21:46:42.945778 630 | 2020-12-01 21:46:43.785463 631 | 2020-12-01 21:46:43.807366 632 | 2020-12-01 21:46:44.779551 633 | 2020-12-01 21:46:44.813460 634 | 2020-12-01 21:46:45.687393 635 | 2020-12-01 21:46:45.722256 636 | 2020-12-01 21:46:46.575148 637 | 2020-12-01 21:46:46.601745 638 | 2020-12-01 21:46:47.461121 639 | 2020-12-01 21:46:47.485881 640 | 2020-12-01 21:46:48.373209 641 | 2020-12-01 21:46:48.406123 642 | 2020-12-01 21:46:49.290085 643 | 2020-12-01 21:46:49.317820 644 | 2020-12-01 21:46:50.243416 645 | 2020-12-01 21:46:50.282313 646 | 2020-12-01 21:46:51.204370 647 | 2020-12-01 21:46:51.231972 648 | 2020-12-01 21:46:55.244032 649 | 2020-12-01 21:46:55.263488 650 | 2020-12-01 21:46:55.706833 651 | 2020-12-01 21:46:55.730399 652 | 2020-12-01 21:46:56.202100 653 | 2020-12-01 21:46:56.220614 654 | 2020-12-01 21:48:01.365384 655 | 2020-12-01 21:48:01.382651 656 | 2020-12-01 21:48:01.753312 657 | 2020-12-01 21:48:01.774468 658 | 2020-12-01 21:48:02.271885 659 | 2020-12-01 21:48:02.291781 660 | 2020-12-01 21:48:19.999447 661 | 2020-12-01 21:48:20.016358 662 | 2020-12-01 21:48:20.387170 663 | 2020-12-01 21:48:20.406875 664 | 2020-12-01 21:48:22.010364 665 | 2020-12-01 21:48:22.033455 666 | 2020-12-01 21:48:22.483618 667 | 2020-12-01 21:48:22.504289 668 | 2020-12-01 21:48:23.006714 669 | 2020-12-01 21:48:23.031649 670 | 2020-12-01 21:48:23.458983 671 | 2020-12-01 21:48:23.473500 672 | 2020-12-01 21:48:23.917592 673 | 2020-12-01 21:48:23.943025 674 | 2020-12-01 21:48:24.400548 675 | 2020-12-01 21:48:24.416190 676 | 2020-12-01 21:48:24.924905 677 | 2020-12-01 21:48:24.944851 678 | 2020-12-01 21:48:25.414134 679 | 2020-12-01 21:48:25.433002 680 | 2020-12-01 21:48:25.850339 681 | 2020-12-01 21:48:25.872872 682 | 2020-12-01 21:48:26.366458 683 | 2020-12-01 21:48:26.382726 684 | 2020-12-01 21:48:26.790331 685 | 2020-12-01 21:48:26.811848 686 | 2020-12-01 21:48:27.284594 687 | 2020-12-01 21:48:27.393179 688 | 2020-12-01 21:48:27.955319 689 | 2020-12-01 21:48:27.976736 690 | 2020-12-01 21:48:28.403582 691 | 2020-12-01 21:48:28.424064 692 | 2020-12-01 21:48:28.897758 693 | 2020-12-01 21:48:28.920697 694 | 2020-12-01 21:48:29.458021 695 | 2020-12-01 21:48:29.471717 696 | 2020-12-01 21:48:30.069143 697 | 2020-12-01 21:48:30.096071 698 | 2020-12-01 21:48:49.892249 699 | 2020-12-01 21:48:49.907470 700 | 2020-12-01 21:49:09.155354 701 | 2020-12-01 21:49:09.175159 702 | 2020-12-01 21:49:09.587255 703 | 2020-12-01 21:49:09.603107 704 | 2020-12-01 21:49:10.041142 705 | 2020-12-01 21:49:10.061864 706 | 2020-12-01 21:49:10.500215 707 | 2020-12-01 21:49:10.519183 708 | 2020-12-01 21:49:10.923368 709 | 2020-12-01 21:49:10.946546 710 | 2020-12-01 21:50:34.505851 711 | 2020-12-01 21:50:34.529512 712 | 2020-12-01 21:50:34.979202 713 | 2020-12-01 21:50:34.998376 714 | 2020-12-01 21:50:35.435263 715 | 2020-12-01 21:50:35.457893 716 | 2020-12-01 21:50:36.055500 717 | 2020-12-01 21:50:36.074374 718 | 2020-12-01 21:50:48.440888 719 | 2020-12-01 21:50:48.459773 720 | 2020-12-01 21:50:48.830242 721 | 2020-12-01 21:50:48.847452 722 | 2020-12-01 21:50:49.231021 723 | 2020-12-01 21:50:49.250947 724 | 2020-12-04 15:07:10.730827 725 | 2020-12-04 15:07:10.760844 726 | 2020-12-04 15:07:11.351921 727 | 2020-12-04 15:07:11.379946 728 | 2020-12-04 15:07:11.949312 729 | 2020-12-04 15:07:11.977123 730 | 2020-12-04 15:07:12.763640 731 | 2020-12-04 15:07:12.795838 732 | 2020-12-04 15:07:13.574880 733 | 2020-12-04 15:07:13.605691 734 | 2020-12-04 15:07:14.474907 735 | 2020-12-04 15:07:14.510428 736 | 2020-12-04 15:07:15.162649 737 | 2020-12-04 15:07:15.195084 738 | 2020-12-04 15:07:15.920066 739 | 2020-12-04 15:07:15.959760 740 | 2020-12-04 15:07:16.820741 741 | 2020-12-04 15:07:16.849688 742 | 2020-12-04 15:07:17.699021 743 | 2020-12-04 15:07:17.733421 744 | 2020-12-04 15:07:18.545958 745 | 2020-12-04 15:07:18.581108 746 | 2020-12-04 15:07:19.416028 747 | 2020-12-04 15:07:19.450359 748 | 2020-12-04 15:07:20.174798 749 | 2020-12-04 15:07:20.212143 750 | 2020-12-04 15:07:20.937139 751 | 2020-12-04 15:07:20.967088 752 | 2020-12-04 15:07:21.707877 753 | 2020-12-04 15:07:21.747987 754 | 2020-12-04 15:07:22.754409 755 | 2020-12-04 15:07:22.782188 756 | 2020-12-04 15:07:23.594326 757 | 2020-12-04 15:07:23.627493 758 | 2020-12-04 15:07:24.465693 759 | 2020-12-04 15:07:24.498508 760 | 2020-12-04 15:07:25.350784 761 | 2020-12-04 15:07:25.387251 762 | 2020-12-04 15:07:26.074064 763 | 2020-12-04 15:07:26.106699 764 | 2020-12-04 15:07:26.867975 765 | 2020-12-04 15:07:26.911761 766 | 2020-12-04 15:07:27.780663 767 | 2020-12-04 15:07:27.813035 768 | 2020-12-04 15:07:28.594094 769 | 2020-12-04 15:07:28.622017 770 | 2020-12-04 15:07:29.543690 771 | 2020-12-04 15:07:29.580219 772 | 2020-12-04 15:07:30.316080 773 | 2020-12-04 15:07:30.349643 774 | 2020-12-04 15:07:31.157187 775 | 2020-12-04 15:07:31.210947 776 | 2020-12-04 15:07:32.003894 777 | 2020-12-04 15:07:32.034806 778 | 2020-12-04 15:07:32.825085 779 | 2020-12-04 15:07:32.864137 780 | 2020-12-04 15:07:33.799293 781 | 2020-12-04 15:07:33.829384 782 | 2020-12-04 15:07:34.606989 783 | 2020-12-04 15:07:34.648430 784 | 2020-12-04 15:07:35.618755 785 | 2020-12-04 15:07:35.662729 786 | 2020-12-04 15:07:36.569468 787 | 2020-12-04 15:07:36.607734 788 | 2020-12-04 15:07:37.473613 789 | 2020-12-04 15:07:37.507770 790 | 2020-12-04 15:07:38.231162 791 | 2020-12-04 15:07:38.274802 792 | 2020-12-04 15:07:39.043204 793 | 2020-12-04 15:07:39.083864 794 | 2020-12-04 15:07:40.015625 795 | 2020-12-04 15:07:40.068643 796 | 2020-12-04 15:07:40.903576 797 | 2020-12-04 15:07:40.946040 798 | 2020-12-04 15:07:41.741919 799 | 2020-12-04 15:07:41.770210 800 | 2020-12-04 15:07:42.668640 801 | 2020-12-04 15:07:42.705917 802 | 2020-12-04 15:07:43.457175 803 | 2020-12-04 15:07:43.490935 804 | 2020-12-04 15:07:44.250400 805 | 2020-12-04 15:07:44.282109 806 | 2020-12-04 15:07:46.260768 807 | 2020-12-04 15:07:46.287458 808 | 2020-12-04 15:07:46.787749 809 | 2020-12-04 15:07:46.828618 810 | 2020-12-04 15:07:47.524931 811 | 2020-12-04 15:07:47.562352 812 | 2020-12-04 15:07:48.499608 813 | 2020-12-04 15:07:48.537398 814 | 2020-12-04 15:07:49.460553 815 | 2020-12-04 15:07:49.492951 816 | 2020-12-04 15:07:50.337904 817 | 2020-12-04 15:07:50.377590 818 | 2020-12-04 15:07:51.559756 819 | 2020-12-04 15:07:51.611095 820 | 2020-12-04 15:07:52.569636 821 | 2020-12-04 15:07:52.597946 822 | 2020-12-04 15:07:53.105222 823 | 2020-12-04 15:07:53.133115 824 | 2020-12-04 15:07:53.924313 825 | 2020-12-04 15:07:53.974023 826 | 2020-12-04 15:07:54.799841 827 | 2020-12-04 15:07:54.828604 828 | 2020-12-04 15:07:55.668838 829 | 2020-12-04 15:07:55.699959 830 | 2020-12-04 15:07:56.562234 831 | 2020-12-04 15:07:56.596086 832 | 2020-12-04 15:07:57.541800 833 | 2020-12-04 15:07:57.579155 834 | 2020-12-04 15:07:58.375743 835 | 2020-12-04 15:07:58.409372 836 | 2020-12-04 15:20:21.528031 837 | 2020-12-04 15:20:23.303298 838 | 2020-12-04 15:21:59.798479 839 | 2020-12-04 15:22:01.435045 840 | 2020-12-04 15:22:03.910335 841 | 2020-12-04 15:22:05.578905 842 | 2020-12-04 17:54:10.495378 843 | 2020-12-04 17:54:11.367379 844 | 2020-12-04 17:54:12.957378 845 | 2020-12-04 17:54:13.868067 846 | 2020-12-04 17:55:17.606110 847 | 2020-12-04 17:55:17.623077 848 | 2020-12-04 17:55:18.003760 849 | 2020-12-04 17:55:18.019765 850 | 2020-12-04 17:55:18.424808 851 | 2020-12-04 17:55:18.448758 852 | 2020-12-04 17:56:56.386831 853 | 2020-12-04 17:56:56.404833 854 | 2020-12-04 17:56:56.837833 855 | 2020-12-04 17:56:56.861834 856 | 2020-12-04 17:56:57.276210 857 | 2020-12-04 17:56:57.292212 858 | 2020-12-04 17:56:57.815210 859 | 2020-12-04 17:56:57.836210 860 | -------------------------------------------------------------------------------- /camera_adjustment.py: -------------------------------------------------------------------------------- 1 | #/usr/bin/python3.6.x 2 | #encoding:'utf-8' 3 | #License: All Rights Reserved (C) Muneeb Ahmad 4 | import os 5 | import cv2 6 | import pyttsx3 7 | samples = [] 8 | to_do = ['Take a Photo in a Normal Condition', 'Put a Finger or Hand covering the Camera Pixel Now'] 9 | os.system('pyfiglet ANTI-COVERED') 10 | #Calculates the Sharpness of the Image 11 | def sharpness(img): 12 | img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 13 | lap = cv2.Laplacian(img, cv2.CV_16S) 14 | mean, stddev = cv2.meanStdDev(lap) 15 | return stddev[0,0] 16 | # Get Camera Indexes 17 | def returnCameraIndexes(camera_indexes_to_check=10): 18 | # checks the first 10 indexes. 19 | index = 0 20 | arr = [] 21 | i = camera_indexes_to_check 22 | while i > 0: 23 | cap = cv2.VideoCapture(index, cv2.CAP_DSHOW) 24 | if cap.read()[0]: 25 | arr.append(index) 26 | cap.release() 27 | index += 1 28 | i -= 1 29 | return arr 30 | camera_index = returnCameraIndexes(50) 31 | print(camera_index) 32 | print('[+] Select a Value from the Active Cameras in your PC, Select 0 for Default and other number if you want to use an attached usb or other camera') 33 | camerz_inex = input('** Enter the Camera Index >> ') 34 | # Getting the Blurry/Non-Blurry Image Ratings 35 | for element in to_do: 36 | 37 | data = pyttsx3.init() 38 | data.say(f"{element}") 39 | data.runAndWait() 40 | vid = cv2.VideoCapture(int(camerz_inex), cv2.CAP_DSHOW) 41 | return_value, image = vid.read() 42 | cv2.imwrite('Open.png', image) 43 | samples.append(sharpness(image)) 44 | print(f'Sharpness is: {sharpness(image)}') 45 | vid.release() 46 | # Now Starting the Routine for Processing the Results 47 | 48 | sharp_reading = samples[0] 49 | blurry_reading = samples[1] 50 | 51 | with open('Camera_Covered_Values.txt', 'w+') as f: 52 | f.write(f'{sharp_reading},{blurry_reading}') 53 | -------------------------------------------------------------------------------- /dataset_faces.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UBISOFT-1/Project_Exodus/ad9cbead12827ec6bf3598f569bbf45253e0252a/dataset_faces.dat -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pip 2 | dlib 3 | numpy 4 | face_recognition 5 | opencv-python 6 | pyttsx3 7 | psutil -------------------------------------------------------------------------------- /unlock-screen.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | 3 | cap = cv2.VideoCapture() 4 | cap.open("rtsp://admin:12345678a@192.168.10.13:554/Streaming/channels/202/picture") 5 | 6 | while(True): 7 | # Capture frame-by-frame 8 | ret, frame = cap.read() 9 | 10 | # Our operations on the frame come here 11 | 12 | # Display the resulting frame 13 | cv2.imshow('frame',frame) 14 | 15 | if cv2.waitKey(1) & 0xFF == ord('q'): 16 | break 17 | 18 | # When everything done, release the capture 19 | cap.release() 20 | cv2.destroyAllWindows() 21 | --------------------------------------------------------------------------------