{"id":88072,"date":"2023-07-28T19:12:35","date_gmt":"2023-07-28T13:42:35","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=88072"},"modified":"2026-06-03T15:12:30","modified_gmt":"2026-06-03T09:42:30","slug":"python-opencv-face-recognition-based-on-criminal-identification","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/","title":{"rendered":"Python OpenCV Face Recognition Based on Criminal Identification"},"content":{"rendered":"<p>The Face Recognition Based Criminal Identification System is an advanced technology that uses computer vision and machine learning to help law enforcement agencies identify known criminals more quickly and accurately. It works by detecting and recognizing faces in real time, allowing authorities to compare them to a database of known criminals.<\/p>\n<p>This automated system reduces mistakes made by humans, improves efficiency, and can easily be integrated with existing surveillance systems. Ultimately, it strengthens public safety and security by helping law enforcement agencies respond effectively to potential threats.<\/p>\n<h3>How is face detection and recognition performed?<\/h3>\n<p>The system uses the Haar cascades algorithm to detect faces in images or video frames. It then utilizes the face_recognition library, which employs the FaceNet model, to generate numerical representations of unique facial features called face encodings. By comparing these encodings with known criminals&#8217; encodings, the system determines if there is a match. The code calculates similarity scores and displays the name of the matched criminal on the video frame.<\/p>\n<h3>HaarCascades in Face Recognition<\/h3>\n<p>Haar cascades are an essential part of detecting human faces. They use a machine learning technique to analyze unique patterns and features of faces. By scanning images or video frames, Haar cascades quickly identify potential faces while ignoring non-face areas. This initial step helps subsequent algorithms match the detected faces with known criminals, making the system more accurate and efficient for law enforcement.<\/p>\n<h3>Prerequisites For Face Recognition Based on Criminal Identification Using Python Open<\/h3>\n<p>It is important to have a solid understanding of the Python programming language and the OpenCV and tkinter library and follow system requirements.<\/p>\n<p>1. Python 3.7 (64-bit) and above<br \/>\n2. Any Python editor (VS code, Pycharm)<\/p>\n<h3>Download Python OpenCV Face Recognition Based on Criminal Identification Project<\/h3>\n<p>Please download Python OpenCV Face Recognition Based on Criminal Identification Project: <a href=\"https:\/\/drive.google.com\/file\/d\/1O-w8cQ6Txi347eKCb8NnihKxI3E-z6zv\/view?usp=drive_link\"><strong>Python OpenCV Face Recognition Based on Criminal Identification Project Code<\/strong><\/a><\/p>\n<h4>Installation<\/h4>\n<p>Open Windows cmd as administrator<\/p>\n<p>1. To install the opencv library, run the command from the cmd.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">pip install opencv-python<\/pre>\n<p>2. To install face_recognition, run the command from cmd.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">pip install face_reccognition<\/pre>\n<h4>Let\u2019s Implement<\/h4>\n<p>Follow the below instruction to implement it.<\/p>\n<p>1. We need to import some libraries that will be used in our implementation.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import os\r\nimport cv2\r\nimport face_recognition\r\nfrom tkinter import Tk, Label, Button, filedialog, simpledialog<\/pre>\n<p>2. It initializes variables, including the folder path for known criminal&#8217;s images, empty lists for storing facial encodings and names, and an initial flag value.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">known_criminals_folder = \"images\"\r\nknown_encodings = []\r\nknown_names = []\r\nflag = 0<\/pre>\n<p>3. The load_known_criminals function loads images of known criminals, computes their facial encodings, and stores the encodings and names for subsequent face-matching operations.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def load_known_criminals():\r\n    for file_name in os.listdir(known_criminals_folder):\r\n        image_path = os.path.join(known_criminals_folder, file_name)\r\n        name = os.path.splitext(file_name)[0]\r\n        image = face_recognition.load_image_file(image_path)\r\n        encoding = face_recognition.face_encodings(image)[0]\r\n        known_encodings.append(encoding)\r\n        known_names.append(name)<\/pre>\n<p>4. It defines the function for matching criminals with the database.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def match_criminal():<\/pre>\n<p>5. It opens the camera.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cap = cv2.VideoCapture(0)<\/pre>\n<p>6. It starts the while loop.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">while True:<\/pre>\n<p>7. It reads a frame from a video source, such as a webcam, and identifies the locations of faces within the frame using the face_recognition library. It then generates unique numerical representations, called encodings, for each detected face.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ret, frame = cap.read()\r\nface_locations = face_recognition.face_locations(frame)\r\nface_encodings = face_recognition.face_encodings(frame, face_locations)<\/pre>\n<p>8. It compares the facial features of detected faces with a database of known criminals to find matches. If a match is found, the system displays the criminal&#8217;s name and marks their face with a rectangle. If no match is found, it labels the face as &#8220;Not Matched.&#8221; The position of the rectangle is determined by the location of the face. The match_label is updated accordingly.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">for face_encoding in face_encodings:\r\n            matches = face_recognition.compare_faces(known_encodings, face_encoding)\r\n            name = \"Unknown\"\r\n            flag = 1\r\n            if True in matches:\r\n                matched_indices = [index for index, match in enumerate(matches) if match]\r\n                first_match_index = matched_indices[0]\r\n                name = known_names[first_match_index]\r\n                flag = 0\r\n            top, right, bottom, left = face_locations[0]\r\n            cv2.rectangle(frame, (left, top), (right, bottom), (237, 255, 32), 2)\r\n            if flag == 0:\r\n                cv2.putText(frame, \"Matched Criminal: \"+name, (left-40, top - 40), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (158, 49, 255), 2)\r\n            else:\r\n                cv2.putText(frame, \"Not Matched\", (left, top - 40), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (255, 255, 37), 2)\r\n            match_label.config(text=\"Matched Criminal: \" + name)<\/pre>\n<p>9. It displays the processed frame with the name &#8220;TechVidvan&#8221; using the cv2.imshow function from the OpenCV library. It then waits for a key press event using cv2.waitKey(1) and checks if the pressed key is &#8216;q&#8217;. If the &#8216;q&#8217; key is pressed, the program breaks out of the loop, ending the execution.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cv2.imshow('TechVidvan', frame)\r\n        if cv2.waitKey(1) &amp; 0xFF == ord('q'):\r\n            break<\/pre>\n<p>10. It releases all the resources occupied by the program and closes all the windows.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">cap.release()\r\n cv2.destroyAllWindows()<\/pre>\n<p>11. The add_criminal function allows users to add a new criminal to the system by selecting an image file and providing the criminal&#8217;s name. The system calculates the unique facial features and stores them along with the name for future matching. The image is saved with the criminal&#8217;s name as the file name. A success message confirms the addition of the criminal to the system.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">def add_criminal():\r\n    file_path = filedialog.askopenfilename(initialdir=\"\/\", title=\"Select Image\",\r\n                                           filetypes=((\"Image Files\", \"*.jpg;*.jpeg;*.png\"), (\"All Files\", \"*.*\")))\r\n    if file_path:\r\n        image = cv2.imread(file_path)\r\n        rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\r\n        encoding = face_recognition.face_encodings(rgb_image)[0]\r\n        name = simpledialog.askstring(\"Add Criminal\", \"Enter the name of the criminal:\")\r\n        if name:\r\n            known_encodings.append(encoding)\r\n            known_names.append(name)\r\n            file_name = name + \".jpg\"\r\n            save_path = os.path.join(known_criminals_folder, file_name)\r\n            cv2.imwrite(save_path, image)\r\n            print(\"Criminal added successfully.\")<\/pre>\n<p>12. It creates a GUI window for the Criminal Identification System using Tkinter. The window has a title and dimensions of 500&#215;300 pixels.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">root = Tk()\r\nroot.title(\"Criminal Identification System\")\r\nroot.geometry(\"500x300\")<\/pre>\n<p>13. It creates a label widget in the GUI window, displaying the text &#8220;Welcome to the Criminal Identification System by TechVidvan&#8221;.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">label = Label(root, text=\"Welcome to the Criminal Identification System by TechVidvan\")\r\nlabel.pack()<\/pre>\n<p>14. It creates two buttons in the GUI window. The &#8220;match_button&#8221; is labeled as &#8220;Match Criminal&#8221; and is associated with the &#8220;match_criminal&#8221; function. The &#8220;add_button&#8221; is labeled as &#8220;Add Criminal&#8221; and is associated with the &#8220;add_criminal&#8221; function. Additionally, a label widget named &#8220;match_label&#8221; is created, initially displaying the text &#8220;Matched Criminal: &#8220;.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">match_button = Button(root, text=\"Match Criminal\", command=match_criminal)\r\nmatch_button.pack()\r\nadd_button = Button(root, text=\"Add Criminal\", command=add_criminal)\r\nadd_button.pack()\r\nmatch_label = Label(root, text=\"Matched Criminal: \")\r\nmatch_label.pack()<\/pre>\n<p>15. The &#8220;root.mainloop()&#8221; function starts the event loop of the GUI, which allows the window to be displayed and for user interactions to be captured and processed.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">root.mainloop()<\/pre>\n<p><strong>Full code<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import os\r\nimport cv2\r\nimport face_recognition\r\nfrom tkinter import Tk, Label, Button, filedialog, simpledialog\r\n\r\nknown_criminals_folder = \"images\"\r\nknown_encodings = []\r\nknown_names = []\r\nflag = 0\r\n\r\ndef load_known_criminals():\r\n    for file_name in os.listdir(known_criminals_folder):\r\n        image_path = os.path.join(known_criminals_folder, file_name)\r\n        name = os.path.splitext(file_name)[0]\r\n        image = face_recognition.load_image_file(image_path)\r\n        encoding = face_recognition.face_encodings(image)[0]\r\n        known_encodings.append(encoding)\r\n        known_names.append(name)\r\n\r\ndef match_criminal():\r\n    cap = cv2.VideoCapture(0)\r\n    while True:\r\n        ret, frame = cap.read()\r\n        face_locations = face_recognition.face_locations(frame)\r\n        face_encodings = face_recognition.face_encodings(frame, face_locations)\r\n        for face_encoding in face_encodings:\r\n            matches = face_recognition.compare_faces(known_encodings, face_encoding)\r\n            name = \"Unknown\"\r\n            flag = 1\r\n            if True in matches:\r\n                matched_indices = [index for index, match in enumerate(matches) if match]\r\n                first_match_index = matched_indices[0]\r\n                name = known_names[first_match_index]\r\n                flag = 0\r\n            top, right, bottom, left = face_locations[0]\r\n            cv2.rectangle(frame, (left, top), (right, bottom), (237, 255, 32), 2)\r\n            if flag == 0:\r\n                cv2.putText(frame, \"Matched Criminal: \"+name, (left-40, top - 40), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (158, 49, 255), 2)\r\n            else:\r\n                cv2.putText(frame, \"Not Matched\", (left, top - 40), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (255, 255, 37), 2)\r\n            match_label.config(text=\"Matched Criminal: \" + name)\r\n        cv2.imshow('TechVidvan', frame)\r\n        if cv2.waitKey(1) &amp; 0xFF == ord('q'):\r\n            break\r\n\r\n    cap.release()\r\n    cv2.destroyAllWindows()\r\n\r\ndef add_criminal():\r\n    file_path = filedialog.askopenfilename(initialdir=\"\/\", title=\"Select Image\",\r\n                                           filetypes=((\"Image Files\", \"*.jpg;*.jpeg;*.png\"), (\"All Files\", \"*.*\")))\r\n    if file_path:\r\n        image = cv2.imread(file_path)\r\n        rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\r\n        encoding = face_recognition.face_encodings(rgb_image)[0]\r\n        name = simpledialog.askstring(\"Add Criminal\", \"Enter the name of the criminal:\")\r\n        if name:\r\n            known_encodings.append(encoding)\r\n            known_names.append(name)\r\n            file_name = name + \".jpg\"\r\n            save_path = os.path.join(known_criminals_folder, file_name)\r\n            cv2.imwrite(save_path, image)\r\n            print(\"Criminal added successfully.\")\r\n\r\nload_known_criminals()\r\n\r\nroot = Tk()\r\nroot.title(\"Criminal Identification System\")\r\nroot.geometry(\"500x300\")\r\n\r\nlabel = Label(root, text=\"Welcome to the Criminal Identification System by TechVidvan\")\r\nlabel.pack()\r\n\r\nmatch_button = Button(root, text=\"Match Criminal\", command=match_criminal)\r\nmatch_button.pack()\r\nadd_button = Button(root, text=\"Add Criminal\", command=add_criminal)\r\nadd_button.pack()\r\nmatch_label = Label(root, text=\"Matched Criminal: \")\r\nmatch_label.pack()\r\nroot.mainloop()<\/pre>\n<h3>Python OpenCV Face Recognition Based on Criminal Identification Output<\/h3>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/criminal-identification-system-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-88180 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/criminal-identification-system-output.webp\" alt=\"criminal identification system output\" width=\"748\" height=\"498\" \/><\/a><\/p>\n<h3><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/opencv-face-recognition-based-on-criminal-identification-output-5.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-88192 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/opencv-face-recognition-based-on-criminal-identification-output-5.webp\" alt=\"opencv face recognition based on criminal identification output\" width=\"1920\" height=\"1080\" \/><\/a><\/h3>\n<h3><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/face-recognition-based-on-crimal-identification-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-88182 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/face-recognition-based-on-crimal-identification-output.webp\" alt=\"face recognition based on crimial identification output\" width=\"1920\" height=\"1080\" \/><\/a><\/h3>\n<h3><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/code-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-88183 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/code-output.webp\" alt=\"code output\" width=\"1586\" height=\"275\" \/><\/a><\/h3>\n<h3><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/matched-criminal-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-88184 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/matched-criminal-output.webp\" alt=\"matched criminal output\" width=\"1920\" height=\"1080\" \/><\/a><\/h3>\n<h3><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/unmatched-criminal-output.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-88185 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/07\/unmatched-criminal-output.webp\" alt=\"unmatched criminal output\" width=\"1920\" height=\"1080\" \/><\/a><\/h3>\n<h3>Conclusion<\/h3>\n<p>The Face Recognition Based Criminal Identification System using openCV is a powerful tool for law enforcement. It uses computer vision and machine learning to automatically identify individuals accurately. OpenCV provides a strong foundation for face detection and recognition tasks. The system compares facial images with a database of known criminals. It saves time and enhances accuracy, but challenges like lightning variations and privacy protection must be considered.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Face Recognition Based Criminal Identification System is an advanced technology that uses computer vision and machine learning to help law enforcement agencies identify known criminals more quickly and accurately. It works by detecting&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":88178,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[193],"tags":[5120,5121,395,5064,5122,481],"class_list":["post-88072","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-opencv-tutorials","tag-face-recognition-based-on-criminal-identification","tag-opencv-face-recognition-based-on-criminal-identification","tag-opencv-projects","tag-opencv-projects-for-practice","tag-python-opencv-face-recognition-based-on-criminal-identification","tag-python-opencv-project-ideas"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python OpenCV Face Recognition Based on Criminal Identification - TechVidvan<\/title>\n<meta name=\"description\" content=\"Unlocking Security Python OpenCV Face Recognition for Criminal Identification. Stay Safe with Cutting-Edge Technology!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python OpenCV Face Recognition Based on Criminal Identification - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Unlocking Security Python OpenCV Face Recognition for Criminal Identification. Stay Safe with Cutting-Edge Technology!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-28T13:42:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T09:42:30+00:00\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python OpenCV Face Recognition Based on Criminal Identification - TechVidvan","description":"Unlocking Security Python OpenCV Face Recognition for Criminal Identification. Stay Safe with Cutting-Edge Technology!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/","og_locale":"en_US","og_type":"article","og_title":"Python OpenCV Face Recognition Based on Criminal Identification - TechVidvan","og_description":"Unlocking Security Python OpenCV Face Recognition for Criminal Identification. Stay Safe with Cutting-Edge Technology!","og_url":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2023-07-28T13:42:35+00:00","article_modified_time":"2026-06-03T09:42:30+00:00","author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Python OpenCV Face Recognition Based on Criminal Identification","datePublished":"2023-07-28T13:42:35+00:00","dateModified":"2026-06-03T09:42:30+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/"},"wordCount":874,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#primaryimage"},"thumbnailUrl":"","keywords":["face recognition based on criminal identification","opencv face recognition based on criminal identification","opencv projects","opencv projects for practice","python opencv face recognition based on criminal identification","python opencv project ideas"],"articleSection":["OpenCV Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/","url":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/","name":"Python OpenCV Face Recognition Based on Criminal Identification - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#primaryimage"},"thumbnailUrl":"","datePublished":"2023-07-28T13:42:35+00:00","dateModified":"2026-06-03T09:42:30+00:00","description":"Unlocking Security Python OpenCV Face Recognition for Criminal Identification. Stay Safe with Cutting-Edge Technology!","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/python-opencv-face-recognition-based-on-criminal-identification\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Python OpenCV Face Recognition Based on Criminal Identification"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/88072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=88072"}],"version-history":[{"count":2,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/88072\/revisions"}],"predecessor-version":[{"id":448050,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/88072\/revisions\/448050"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=88072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=88072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=88072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}