{"id":83077,"date":"2021-07-21T10:40:56","date_gmt":"2021-07-21T05:10:56","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=83077"},"modified":"2026-06-03T15:15:28","modified_gmt":"2026-06-03T09:45:28","slug":"hand-gesture-recognition-tensorflow-opencv","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/","title":{"rendered":"Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV"},"content":{"rendered":"<p>Gesture recognition is an active research field in Human-Computer Interaction technology. It has many applications in virtual environment control and sign language translation, robot control, or music creation. In this machine learning project on Hand Gesture Recognition, we are going to make a real-time Hand Gesture Recognizer using the MediaPipe framework and Tensorflow in OpenCV and Python.<\/p>\n<p>OpenCV is a real-time Computer vision and image-processing framework built on C\/C++. But we\u2019ll use it on python via the OpenCV-python package.<\/p>\n<h3>What is MediaPipe?<\/h3>\n<p>MediaPipe is a customizable machine learning solutions framework developed by Google. It is an open-source and cross-platform framework, and it is very lightweight. MediaPipe comes with some pre-trained ML solutions such as face detection, pose estimation, hand recognition, object detection, etc.<\/p>\n<h3>What is Tensorflow?<\/h3>\n<p>TensorFlow is an open-source library for machine learning and deep learning developed by the Google brains team. It can be used across a range of tasks but has a particular focus on deep neural networks.<\/p>\n<p><strong>Neural Networks<\/strong> are also known as artificial neural networks. It is a subset of machine learning and the heart of deep learning algorithms. The concept of Neural networks is inspired by the human brain. It mimics the way that biological neurons send signals to one another. Neural networks are composed of node layers, containing an input layer, one or more hidden layers, and an output layer.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/ann.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83586\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/ann.jpg\" alt=\"ann\" width=\"960\" height=\"534\" \/><\/a><\/p>\n<p>We\u2019ll first use MediaPipe to recognize the hand and the hand key points. MediaPipe returns a total of 21 key points for each detected hand.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/hand-landmarks.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83589\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/hand-landmarks.jpg\" alt=\"hand landmarks\" width=\"1440\" height=\"537\" \/><\/a><\/p>\n<p>These key points will be fed into a pre-trained gesture recognizer network to recognize the hand pose.<\/p>\n<h3>Prerequisites for this project:<\/h3>\n<p>1. Python &#8211; 3.x (we used Python 3.8.8 in this project)<br \/>\n2. OpenCV &#8211; 4.5<\/p>\n<ul>\n<li>Run \u201cpip install opencv-python\u201d to install OpenCV.<\/li>\n<\/ul>\n<p>3. MediaPipe &#8211; 0.8.5<\/p>\n<ul>\n<li>Run \u201cpip install mediapipe\u201d to install MediaPipe.<\/li>\n<\/ul>\n<p>4. Tensorflow &#8211; 2.5.0<\/p>\n<ul>\n<li>Run \u201cpip install tensorflow\u201d to install the tensorflow module.<\/li>\n<\/ul>\n<p>5. Numpy &#8211; 1.19.3<\/p>\n<h3>Download Hand Gesture Recognition Project Code<\/h3>\n<p>Please download the source code of hand gesture recognition project: <a href=\"https:\/\/drive.google.com\/file\/d\/1RxuD46VPRT_bDihxtMz9fe-ucCgQJarb\/view?usp=drive_link\"><strong>Hand Gesture Recognition ML Project Code<\/strong><\/a><\/p>\n<h3>Steps to solve the project:<\/h3>\n<ul>\n<li>Import necessary packages.<\/li>\n<li>Initialize models.<\/li>\n<li>Read frames from a webcam.<\/li>\n<li>Detect hand keypoints.<\/li>\n<li>Recognize hand gestures.<\/li>\n<\/ul>\n<h4>Step 1 &#8211; Import necessary packages:<\/h4>\n<p>To build this Hand Gesture Recognition project, we\u2019ll need four packages. So first import these.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># import necessary packages for hand gesture recognition project using Python OpenCV\r\n\r\nimport cv2\r\nimport numpy as np\r\nimport mediapipe as mp\r\nimport tensorflow as tf\r\nfrom tensorflow.keras.models import load_model\r\n<\/pre>\n<h4>Step 2 &#8211; Initialize models:<\/h4>\n<p><strong>Initialize MediaPipe:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># initialize mediapipe\r\nmpHands = mp.solutions.hands\r\nhands = mpHands.Hands(max_num_hands=1, min_detection_confidence=0.7)\r\nmpDraw = mp.solutions.drawing_utils\r\n<\/pre>\n<ul>\n<li>Mp.solution.hands module performs the hand recognition algorithm. So we create the object and store it in mpHands.<\/li>\n<li>Using mpHands.Hands method we configured the model. The first argument is max_num_hands, that means the maximum number of hand will be detected by the model in a single frame. MediaPipe can detect multiple hands in a single frame, but we\u2019ll detect only one hand at a time in this project.<\/li>\n<li>Mp.solutions.drawing_utils will draw the detected key points for us so that we don\u2019t have to draw them manually.<\/li>\n<\/ul>\n<p><strong>Initialize Tensorflow:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Load the gesture recognizer model\r\nmodel = load_model('mp_hand_gesture')\r\n\r\n# Load class names\r\nf = open('gesture.names', 'r')\r\nclassNames = f.read().split('\\n')\r\nf.close()\r\nprint(classNames)\r\n<\/pre>\n<ul>\n<li>Using the load_model function we load the TensorFlow pre-trained model.<\/li>\n<li>Gesture.names file contains the name of the gesture classes. So first we <strong>open<\/strong> the file using python\u2019s inbuilt open function and then read the file.<\/li>\n<li>After that, we read the file using the read() function.<\/li>\n<\/ul>\n<p><strong>Output<\/strong> :<\/p>\n<p>[&#8216;okay&#8217;, &#8216;peace&#8217;, &#8216;thumbs up&#8217;, &#8216;thumbs down&#8217;, &#8216;call me&#8217;, &#8216;stop&#8217;, &#8216;rock&#8217;, &#8216;live long&#8217;, &#8216;fist&#8217;, &#8216;smile&#8217;]<\/p>\n<p>The model can recognize 10 different gestures.<\/p>\n<h4>Step 3 &#8211; Read frames from a webcam:<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Initialize the webcam for Hand Gesture Recognition Python project\r\ncap = cv2.VideoCapture(0)\r\n\r\nwhile True:\r\n  # Read each frame from the webcam\r\n  _, frame = cap.read()\r\nx , y, c = frame.shape\r\n\r\n  # Flip the frame vertically\r\n  frame = cv2.flip(frame, 1)\r\n  # Show the final output\r\n  cv2.imshow(\"Output\", frame)\r\n  if cv2.waitKey(1) == ord('q'):\r\n    \t\tbreak\r\n\r\n# release the webcam and destroy all active windows\r\ncap.release()\r\ncv2.destroyAllWindows()<\/pre>\n<ul>\n<li>We create a VideoCapture object and pass an argument \u20180\u2019. It is the camera ID of the system. In this case, we have 1 webcam connected with the system. If you have multiple webcams then change the argument according to your camera ID. Otherwise, leave it default.<\/li>\n<li>The cap.read() function reads each frame from the webcam.<\/li>\n<li>cv2.flip() function flips the frame.<\/li>\n<li>cv2.imshow() shows frame on a new openCV window.<\/li>\n<li>The cv2.waitKey() function keeps the window open until the key \u2018q\u2019 is pressed.<\/li>\n<\/ul>\n<h4>Step 4 &#8211; Detect hand keypoints:<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">framergb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\r\n  # Get hand landmark prediction\r\n  result = hands.process(framergb)\r\n\r\n  className = ''\r\n\r\n  # post process the result\r\n  if result.multi_hand_landmarks:\r\n    \tlandmarks = []\r\n    \tfor handslms in result.multi_hand_landmarks:\r\n        \tfor lm in handslms.landmark:\r\n            \t# print(id, lm)\r\n            \tlmx = int(lm.x * x)\r\n            \tlmy = int(lm.y * y)\r\n\r\n            \tlandmarks.append([lmx, lmy])\r\n\r\n        \t# Drawing landmarks on frames\r\n        \tmpDraw.draw_landmarks(frame, handslms, \r\nmpHands.HAND_CONNECTIONS)\r\n<\/pre>\n<ul>\n<li>MediaPipe works with RGB images but OpenCV reads images in BGR format. So, using cv2.cvtCOLOR() function we convert the frame to RGB format.<\/li>\n<li>The process function takes an RGB frame and returns a result class.<\/li>\n<li>Then we check if any hand is detected or not, using result.multi_hand_landmarks method.<\/li>\n<li>After that, we loop through each detection and store the coordinate on a list called landmarks.<\/li>\n<li>Here image height (y) and image width(x) are multiplied with the result because the model returns a normalized result. This means each value in the result is between 0 and 1.<\/li>\n<li>And finally using mpDraw.draw_landmarks() function we draw all the landmarks in the frame.<\/li>\n<\/ul>\n<p><strong>Result:<\/strong><\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/landmark-output.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-83595 size-full\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/landmark-output.gif\" alt=\"hand gesture recognition landmark output\" width=\"280\" height=\"249\" \/><\/a><\/p>\n<p>And now, the last and the final step-<\/p>\n<h4>Step 5 &#8211; Recognize hand gestures:<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Predict gesture in Hand Gesture Recognition project\r\n        \tprediction = model.predict([landmarks])\r\nprint(prediction)\r\n        \tclassID = np.argmax(prediction)\r\n        \tclassName = classNames[classID]\r\n\r\n  # show the prediction on the frame\r\n  cv2.putText(frame, className, (10, 50), cv2.FONT_HERSHEY_SIMPLEX,\r\n               \t1, (0,0,255), 2, cv2.LINE_AA)<\/pre>\n<ul>\n<li>The model.predict() function takes a list of landmarks and returns an array contains 10 prediction classes for each landmark.<br \/>\nThe output looks like this-<br \/>\n[[2.0691623e-18 1.9585415e-27 9.9990010e-01 9.7559416e-05<br \/>\n1.6617223e-06 1.0814080e-18 1.1070732e-27 4.4744065e-16 6.6466129e-07 4.9615162e-21]]<\/li>\n<li>Np.argmax() returns the index of the maximum value in the list.<\/li>\n<li>After getting the index we can simply take the class name from the classNames list.<\/li>\n<li>Then using the cv2.putText function we show the detected gesture into the frame.<\/li>\n<\/ul>\n<h3>Hand Gesture Recognition Output<\/h3>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/hand-gesture-recognition-output.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-83596\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/07\/hand-gesture-recognition-output.gif\" alt=\"hand gesture recognition output\" width=\"799\" height=\"423\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>In this Hand Gesture Recognition project, we\u2019ve built a hand gesture recognizer using OpenCV and python. We\u2019ve used MediaPipe and Tensorflow framework for the detection and gesture recognition respectively. Here we\u2019ve learned about the basics of the Neural Network, File handling, some common image processing techniques, etc.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gesture recognition is an active research field in Human-Computer Interaction technology. It has many applications in virtual environment control and sign language translation, robot control, or music creation. In this machine learning project on&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":83597,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210],"tags":[3824,3825,3826,3827],"class_list":["post-83077","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-hand-gesture-recognition","tag-hand-gesture-recognition-python-code","tag-hand-gesture-recognition-python-project","tag-hand-gesture-recognition-python-source-code"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV - TechVidvan<\/title>\n<meta name=\"description\" content=\"Gesture recognition is active research field in Human-Computer Interaction technology.Build Hand Gesture Recognition Project in Python OpenCV\" \/>\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\/hand-gesture-recognition-tensorflow-opencv\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Gesture recognition is active research field in Human-Computer Interaction technology.Build Hand Gesture Recognition Project in Python OpenCV\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/\" \/>\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-21T05:10:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T09:45:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/machine-learning-project-hand-gesture-recognition.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=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV - TechVidvan","description":"Gesture recognition is active research field in Human-Computer Interaction technology.Build Hand Gesture Recognition Project in Python OpenCV","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\/hand-gesture-recognition-tensorflow-opencv\/","og_locale":"en_US","og_type":"article","og_title":"Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV - TechVidvan","og_description":"Gesture recognition is active research field in Human-Computer Interaction technology.Build Hand Gesture Recognition Project in Python OpenCV","og_url":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-07-21T05:10:56+00:00","article_modified_time":"2026-06-03T09:45:28+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/machine-learning-project-hand-gesture-recognition.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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV","datePublished":"2021-07-21T05:10:56+00:00","dateModified":"2026-06-03T09:45:28+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/"},"wordCount":912,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/machine-learning-project-hand-gesture-recognition.jpg","keywords":["Hand Gesture Recognition","Hand Gesture Recognition Python Code","Hand Gesture Recognition Python Project","Hand Gesture Recognition Python Source Code"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/","url":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/","name":"Real-time Hand Gesture Recognition using TensorFlow &amp; OpenCV - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/machine-learning-project-hand-gesture-recognition.jpg","datePublished":"2021-07-21T05:10:56+00:00","dateModified":"2026-06-03T09:45:28+00:00","description":"Gesture recognition is active research field in Human-Computer Interaction technology.Build Hand Gesture Recognition Project in Python OpenCV","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/machine-learning-project-hand-gesture-recognition.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/07\/machine-learning-project-hand-gesture-recognition.jpg","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/hand-gesture-recognition-tensorflow-opencv\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Real-time Hand Gesture Recognition using TensorFlow &amp; 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\/83077","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=83077"}],"version-history":[{"count":2,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/83077\/revisions"}],"predecessor-version":[{"id":448058,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/83077\/revisions\/448058"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/83597"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=83077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=83077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=83077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}