{"id":83553,"date":"2021-07-22T09:00:38","date_gmt":"2021-07-22T03:30:38","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=83553"},"modified":"2026-06-03T15:12:31","modified_gmt":"2026-06-03T09:42:31","slug":"face-detection-recognition-opencv-python","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/","title":{"rendered":"Real-Time Face Detection &amp; Recognition using OpenCV"},"content":{"rendered":"<p>Nowadays face detection is a very common problem. Face detection is also called facial detection. It is a computer vision technology used to find and identify human faces in digital images. Face detection technology can be applied to various fields such as security, surveillance, biometrics, law enforcement, entertainment, etc.<\/p>\n<p>Today we\u2019ll build a Face Detection and face recognition project using Python OpenCV and face_recognition library in python. Face_recognition library uses on dlib in the backend.<\/p>\n<h3>What is OpenCV?<\/h3>\n<p>OpenCV is a real-time Computer Vision framework. It is used in many image processing and computer vision tasks. OpenCV is written in C\/C++, but we can use it in python also using opencv-python.<\/p>\n<h3>What is dlib?<\/h3>\n<p>Dlib is a Open Source C++ toolkit. It contains various machine learning algorithms and tools for creating complex software. Dlib used to solve real-world problems. It is useful in industry and academia including robotics, embedded devices, mobile phones, and large high-performance computing environments.<\/p>\n<h3>How does Dlib work in facial recognition?<\/h3>\n<p>At first, it detects faces from the input image and then generates 68 landmarks of faces &#8211; The outside of the eyes, nose, top chin, etc.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/dlib-landmarks.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83651\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/dlib-landmarks.jpg\" alt=\"dlib landmarks\" width=\"312\" height=\"312\" \/><\/a><\/p>\n<p>Source: dlib<\/p>\n<p>And using those landmarks it rotates the face to the center position. In this way no matter how much the face is tilted, it is able to center position the detected face.<\/p>\n<p>After correction, the corrected face is fed into a CNN (Convolution Neural Network) and generates 128 points. And using those 128 points later it compares with another face and recognizes that the detected face is same or not.<\/p>\n<p>So let\u2019s build this opencv project<\/p>\n<h3>Prerequisites for OpenCV Face Recognition Project:<\/h3>\n<p>1. Microsoft Visual Studio 2019<br \/>\nYou\u2019ll need Visual Studio C++ for compiling dlib during face-recognition python package installation.<\/p>\n<ul>\n<li>https:\/\/cutt.ly\/MnGCiFV &#8211; Go to this link to download the Visual Studio installer.<\/li>\n<li>After downloading, install the C++ package from Visual Studio.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/visual-studio.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83652\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/visual-studio.png\" alt=\"visual studio\" width=\"1608\" height=\"900\" \/><\/a><\/p>\n<p>Install the Desktop development with c++ package.<\/p>\n<p>2. Python &#8211; 3.x ( We used python 3.7.10 for this project<br \/>\n3. OpenCV &#8211; 4.5<\/p>\n<ul>\n<li>Run \u201cpip install opencv-python opencv_contrib-python\u201d to install the package.<\/li>\n<\/ul>\n<p>4. Face-recognition<\/p>\n<ul>\n<li>Run \u201cpip install face_recognition\u201d to install it.\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>During face_recognition package installation dlib will automatically install and compile, so make sure that you set up visual studio c++ correctly.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>5. Numpy &#8211; 1.20<\/p>\n<h3>Download Face Recognition OpenCV Python Code<\/h3>\n<p>Please download the source code of python face detection &amp; recognition project: <a href=\"https:\/\/drive.google.com\/file\/d\/12Juj3LCUVxfXQFZHdooct-YSqA9osQ8B\/view?usp=drive_link\"><strong>Face Detection &amp; Recognition OpenCV Project Code<\/strong><\/a><\/p>\n<h3>Steps to solve the project:<\/h3>\n<p>We\u2019ll write two different programs for this OpenCV face recognition project. The first one will be for capturing training images, and the 2nd one will be for detecting and recognizing the face.<\/p>\n<h4>Steps for the First Program:<\/h4>\n<ul>\n<li>Import necessary packages and read video from webcam.<\/li>\n<li>Capture a training image and save it in a local folder.<\/li>\n<\/ul>\n<p><strong>Step 1 &#8211; Import necessary packages and read video from webcam:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\r\n\r\n# Take input of the person name\r\nname = input(\"Enter name:  \")\r\n\r\n# Create the videocapture object\r\ncap = cv2.VideoCapture(0)\r\n\r\nwhile True:\r\n    # Read each frame\r\n    success, frame = cap.read()\r\n    # Show the output\r\n    cv2.imshow(\"Frame\", frame)\r\n<\/pre>\n<ul>\n<li>First, we import the opencv library as cv2.<\/li>\n<li>The input function takes the input from the user, in this case, we\u2019ll take an input of the person\u2019s name.<\/li>\n<li>Using the VideoCapture function we initialize the webcam and set the capture object as cap.<\/li>\n<li>cv2.read() function reads each frame from the image.<\/li>\n<li>The Imshow method shows the video frames in a new window.<\/li>\n<\/ul>\n<p>Note &#8211; If you don\u2019t wanna use your webcam then you can directly drag and drop any image in the faces folder.<\/p>\n<p><strong>Step 2 &#8211; Capture a training image and save it in a local folder:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># If 'c' key is pressed then click picture\r\n   \t if cv2.waitKey(1) == ord('c'):\r\n        \t\tfilename = 'faces\/'+name+'.jpg'\r\n        \t\tcv2.imwrite(filename, frame)\r\n    print(\"Image Saved- \",filename)\r\n<\/pre>\n<ul>\n<li>waitKey function waits until we press any Key.<\/li>\n<li>ord(\u2018c\u2019) means if the key \u2018C\u2019 is pressed then a frame will be saved as an image.<\/li>\n<li>The Imwrite function saves the fame as an image in the local folder.<\/li>\n<\/ul>\n<p><strong>Output<\/strong><\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/capture.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83656\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/capture.gif\" alt=\"capture\" width=\"800\" height=\"433\" \/><\/a><\/p>\n<h4>Steps for the 2nd Program:<\/h4>\n<ul>\n<li>Import necessary packages and read the train images.<\/li>\n<li>Encode faces from the train images.<\/li>\n<li>Detects and encodes faces from the webcam.<\/li>\n<li>Find the matches between the detected faces and the Training images face.<\/li>\n<li>Draw the detection and show the identity of the person.<\/li>\n<\/ul>\n<p><strong>Step 1 &#8211; Import necessary packages and reading the train images:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\r\nimport numpy as np\r\nimport face_recognition\r\nimport os\r\n\r\n# Define the path for training images for OpenCV face recognition Project\r\n\r\npath = 'faces'\r\n\r\nimages = []\r\nclassNames = []\r\n<\/pre>\n<ul>\n<li>At first, we imported all the necessary packages.<\/li>\n<li>Define the path for the training image.<\/li>\n<li>We define two empty lists for storing training images and the classNames, which means the person\u2019s name.\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Reading the training images and classes and storing into the corresponding lists\r\nfor img in os.listdir(path):\r\n    image = cv2.imread(f'{path}\/{img}')\r\n    images.append(image)\r\n    classNames.append(os.path.splitext(img)[0])\r\n\r\nprint(classNames)\r\n<\/pre>\n<\/li>\n<\/ul>\n<p><strong>Output:<\/strong><\/p>\n<p>[&#8216;sourav&#8217;]<\/p>\n<ul>\n<li>Using os.listdir we take each file inside the defined path.<\/li>\n<li>The Imread function reads the files from the local path.<\/li>\n<li>Using the splittext function we split the image filename and take only the filename as className and ignore the file extension.<\/li>\n<\/ul>\n<p><strong>Step 2 &#8211; Encode faces from the train images:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Function for Find the encoded data of the input image\r\ndef findEncodings(images):\r\n    encodeList = []\r\n    for img in images:\r\n        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)\r\n        encode = face_recognition.face_encodings(img)[0]\r\n        print(encode)\r\n        encodeList.append(encode)\r\n    return encodeList\r\n\r\n# Find encodings of training images\r\n\r\nknownEncodes = findEncodings(images)\r\nprint('Encoding Complete')\r\n<\/pre>\n<ul>\n<li>Dlib works with RGB images and OpenCV reads images in BGR format, so using the cvtColor function we convert the images to RGB images.<\/li>\n<li>Face_recognition.face_encodings function detects the face and returns a list containing 128 points.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/keypoints.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83653\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/keypoints.png\" alt=\"keypoints\" width=\"1920\" height=\"1080\" \/><\/a><\/p>\n<p><strong>Step 3 &#8211; Detect and encode faces from the webcam:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">scale = 0.25    \r\nbox_multiplier = 1\/scale\r\n\r\n\r\n# Define a videocapture object\r\ncap = cv2.VideoCapture(0)\r\n \r\nwhile True:\r\n    success, img = cap.read()  # Reading Each frame\r\n    \r\n   # Resize the frame\r\n    Current_image = cv2.resize(img,(0,0),None,scale,scale)\r\n    Current_image = cv2.cvtColor(Current_image, cv2.COLOR_BGR2RGB)\r\n\r\n    # Find the face location and encodings for the current frame\r\n    \r\n    face_locations = face_recognition.face_locations(Current_image,  model='cnn')\r\n    face_encodes = face_recognition.face_encodings(Current_image,face_locations)\r\n<\/pre>\n<ul>\n<li>After reading the frame resize the frame to 1\/4th of the original size for better performance.<\/li>\n<\/ul>\n<p>Note &#8211; Change this scale according to your need between 0 and 1. A lower number will give better performance but it will not be able to detect faces if the face is small in the image, and a greater number can detect small faces in the image but the performance will be slow<\/p>\n<ul>\n<li>Face_recognition.face_locations function returns the location of the detected faces.<\/li>\n<li>By default model=\u2019hog\u2019. If you want to run on CPU then change it to \u2018hog\u2019, because hog runs faster on CPU and \u2018cnn\u2019 runs faster on GPU and it is also more accurate.<\/li>\n<\/ul>\n<p><strong>Step 4 &#8211; Find the matches between the detected faces and the Training images face:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"> for encodeFace,faceLocation in zip(face_encodes,face_locations):\r\n        matches = face_recognition.compare_faces(knownEncodes,encodeFace, \r\ntolerance=0.6)\r\n        faceDis = face_recognition.face_distance(knownEncodes,encodeFace)\r\n        matchIndex = np.argmin(faceDis)\r\n\r\n \r\n        # If match found then get the class name for the corresponding match\r\n\r\n        if matches[matchIndex]:\r\n            name = classNames[matchIndex].upper()\r\n\r\n        else:\r\n            name = 'Unknown'\r\n<\/pre>\n<ul>\n<li>We used the zip function in for loop because we want to iterate through each list at the same time.<\/li>\n<li>Face_recognition.compare_faces returns a list containing True or false . If the face is matched with the trained image then it will return true in the position of the detected class name.<\/li>\n<li>Face_recognition.face_distance returns a list containing distance between current face vs training face key points. Lower distance means better match<\/li>\n<li>Np.argmin returns the index of the lowest distance face point and stores it in the matchIndex variable.<\/li>\n<li>Now if the element of the matches list in the matchIndex position is true then grab the element from the className list of the same index.<\/li>\n<\/ul>\n<p><strong>Step 5 &#8211; Draw the detection and show the identity of the person:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">y1,x2,y2,x1=faceLocation\r\ny1,x2,y2,x1=int(y1*box_multiplier),int(x2*box_multiplier),int(y2*box_multiplier),\r\nint(x1*box_multiplier)\r\n\r\n# Draw rectangle around detected face\r\n\r\ncv2.rectangle(img,(x1,y1),(x2,y2),(0,255,0),2)\r\ncv2.rectangle(img,(x1,y2-20),(x2,y2),(0,255,0),cv2.FILLED)\r\n      cv2.putText(img,name,(x1+6,y2-6),cv2.FONT_HERSHEY_COMPLEX,0.5,(255,255,255)\r\n,2)\r\n<\/pre>\n<ul>\n<li>We scaled down the frames 1\/4th times that\u2019s why we multiplied box_multiplier to each coordinate point.<\/li>\n<li>Cv2.rectangle draws a rectangle in a frame.<\/li>\n<li>Cv2.putText draws text in a frame.<\/li>\n<\/ul>\n<h3>OpenCV Face Detection &amp; Recognition Output<\/h3>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/opencv-face-detection-recognition-output.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83654\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/opencv-face-detection-recognition-output.gif\" alt=\"opencv face detection recognition output\" width=\"800\" height=\"427\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>In this project, we built a face detection and recognition system using python OpenCV. We used the face_recognition library to perform all the tasks. We\u2019ve learned about how the face detection system works and how the face recognition system works through this project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nowadays face detection is a very common problem. Face detection is also called facial detection. It is a computer vision technology used to find and identify human faces in digital images. Face detection technology&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":83650,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210],"tags":[3888,3889,3890,379],"class_list":["post-83553","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-face-detection-using-python","tag-face-detection-using-python-opencv","tag-opencv-face-recognition","tag-python-opencv-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Real-Time Face Detection &amp; Recognition using OpenCV - TechVidvan<\/title>\n<meta name=\"description\" content=\"Build a face detection and recognition system using python OpenCV face_recognition library to perform the different tasks.\" \/>\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\/face-detection-recognition-opencv-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real-Time Face Detection &amp; Recognition using OpenCV - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Build a face detection and recognition system using python OpenCV face_recognition library to perform the different tasks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/\" \/>\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=\"2021-07-22T03:30:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T09:42:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/face-detection-recognition-opencv-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Real-Time Face Detection &amp; Recognition using OpenCV - TechVidvan","description":"Build a face detection and recognition system using python OpenCV face_recognition library to perform the different tasks.","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\/face-detection-recognition-opencv-python\/","og_locale":"en_US","og_type":"article","og_title":"Real-Time Face Detection &amp; Recognition using OpenCV - TechVidvan","og_description":"Build a face detection and recognition system using python OpenCV face_recognition library to perform the different tasks.","og_url":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-07-22T03:30:38+00:00","article_modified_time":"2026-06-03T09:42:31+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/face-detection-recognition-opencv-python.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Real-Time Face Detection &amp; Recognition using OpenCV","datePublished":"2021-07-22T03:30:38+00:00","dateModified":"2026-06-03T09:42:31+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/"},"wordCount":1157,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/face-detection-recognition-opencv-python.jpg","keywords":["Face Detection using Python","Face Detection using Python OpenCV","OpenCV face recognition","python opencv project"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/","url":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/","name":"Real-Time Face Detection &amp; Recognition using OpenCV - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/face-detection-recognition-opencv-python.jpg","datePublished":"2021-07-22T03:30:38+00:00","dateModified":"2026-06-03T09:42:31+00:00","description":"Build a face detection and recognition system using python OpenCV face_recognition library to perform the different tasks.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/face-detection-recognition-opencv-python.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/face-detection-recognition-opencv-python.jpg","width":1200,"height":628,"caption":"face detection recognition opencv python"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/face-detection-recognition-opencv-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Real-Time Face Detection &amp; Recognition using OpenCV"}]},{"@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\/83553","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=83553"}],"version-history":[{"count":2,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/83553\/revisions"}],"predecessor-version":[{"id":448051,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/83553\/revisions\/448051"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/83650"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=83553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=83553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=83553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}