├── .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 |
4 |
5 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
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 | [](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 | [](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 |
--------------------------------------------------------------------------------