{"id":87175,"date":"2023-04-11T02:27:52","date_gmt":"2023-04-10T20:57:52","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=87175"},"modified":"2023-04-11T02:27:52","modified_gmt":"2023-04-10T20:57:52","slug":"open-cv-features","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/","title":{"rendered":"Open CV Features That You Must Know"},"content":{"rendered":"<p>In this tutorial, we will learn about exciting features of OpenCV thta every one must know. But before we start with, let&#8217;s see what is OpenCV?<\/p>\n<h3>What is OpenCV?<\/h3>\n<p>OpenCV (Open Source Computer Vision) is a library of programming functions that mostly aims at real-time computer vision. It is open-source software that is released under a BSD license, and it is free for both academic and commercial use.<\/p>\n<p>OpenCV was originally developed by Intel and is now maintained by a non-profit foundation. It is written in C++ language and has interfaces for multiple programming languages, like C++, Python, Java,etc.<\/p>\n<p>OpenCV is widely used in the fields of computer vision, image processing, and machine learning. It provides a wide range of functionality, including image and video processing, object detection, and face recognition. It also provides a number of pre-trained deep learning models that can be easily integrated into applications.<\/p>\n<p>OpenCV is also widely used in various industries, such as self-driving cars, robotics, and security systems. Additionally, it is supported by many platforms, including Windows, Linux, MacOS, iOS, and Android.<\/p>\n<h3>Features of OpenCV<\/h3>\n<p>One of the main features of OpenCV is its ability to process images and videos. It includes over 2500+ algorithms which are specially designed for image and video analysis &amp; can also be used to detect and recognize faces, identify objects, classify human actions in video and also to track camera movements, tracking the moving objects, extracting the 3D models of objects, producing 3D point clouds from stereo cameras, stitching images together to produce a high resolution image of an entire scene &amp; much more<\/p>\n<p>Another important feature of OpenCV is its ability to work with a wide variety of programming languages including C++, Python, Java and MATLAB. This makes it easy for developers to integrate OpenCV into their existing projects or to start a new project using their preferred programming language.<\/p>\n<p>Here is the list of amazing openCV features:<\/p>\n<h4>1. Image and video processing:<\/h4>\n<p>OpenCV provides a wide range of functions for image and video processing, such as image filtering, image transformation, and feature detection. For example, the following code applies a Gaussian blur to an image:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\n\n# Load image\nimg = cv2.imread(\"image.jpg\")\n\n# Apply Gaussian blur\nblurred = cv2.GaussianBlur(img, (5, 5), 0)\n\n# Display original and blurred images\ncv2.imshow(\"Original\", img)\ncv2.imshow(\"Blurred\", blurred)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<h4>2. Object Detection:<\/h4>\n<p>OpenCV provides a vast number of pre-trained deep learning models for the purpose of object detection, such as the MobileNet-SSD, YOLOv3, and Faster R-CNN. For example, the following code uses the MobileNet-SSD model to detect objects in an image:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\n\n# Load image\nimg = cv2.imread(\"image.jpg\")\n\n# Load the MobileNet-SSD model\nnet = cv2.dnn.readNetFromCaffe(\"MobileNetSSD_deploy.prototxt\", \"MobileNetSSD_deploy.caffemodel\")\n\n# Run object detection\nblob = cv2.dnn.blobFromImage(img, 0.007843, (300, 300), (127.5, 127.5, 127.5))\nnet.setInput(blob)\ndetections = net.forward()\n\n# Draw bounding boxes around detected objects\nfor i in range(detections.shape[2]):\n    confidence = detections[0, 0, i, 2]\n    if confidence &gt; 0.5:\n        x1 = int(detections[0, 0, i, 3] * img.shape[1])\n        y1 = int(detections[0, 0, i, 4] * img.shape[0])\n        x2 = int(detections[0, 0, i, 5] * img.shape[1])\n        y2 = int(detections[0, 0, i, 6] * img.shape[0])\n        cv2.rectangle(img, (x1, y1), (x2, y2), (0, 0, 255), 2)\n\n# Display image\ncv2.imshow(\"Object Detection\", img)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<h4>3. Image and video loading and saving:<\/h4>\n<p>OpenCV provides functions to load and save images and videos, such as cv2.imread() and cv2.imwrite(). For example, the following code loads the image and saves it with a name different thean the original file name.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\n\n# Load image\nimg = cv2.imread(\"image.jpg\")\n\n# Save image with a different file name\ncv2.imwrite(\"image_copy.jpg\", img)\n<\/pre>\n<h4>4. Image and video display:<\/h4>\n<p>OpenCV provides functions to display images and videos, such as cv2.imshow() and cv2.waitKey(). For example, the following code displays an image and waits for a key press:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\n\n# Load image\nimg = cv2.imread(\"image.jpg\")\n\n# Display image\ncv2.imshow(\"Image\", img)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<h3>Uses of openCV<\/h3>\n<p>OpenCV (Open Source Computer Vision Library) is a powerful library and is widely used in a variety of applications, including:<\/p>\n<h4>1. Computer vision and image processing:<\/h4>\n<p>OpenCV provides a wide range of functions for image and video processing, such as image filtering, image transformation, and feature detection. These functions can be used to build applications for image and video analysis, such as object detection, face recognition, and image stitching.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\nimport numpy as np\n\n# Load the input image\nimg = cv2.imread(\"input_image.jpg\")\n\n# Convert the image to grayscale\ngray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n\n# Detect edges using Canny edge detection\nedges = cv2.Canny(gray, 100, 200)\n\n# Find lines in the image using Hough line transformation\nlines = cv2.HoughLinesP(edges, 1, np.pi\/180, 50, maxLineGap=50)\n\n# Draw the lines on the original image\nfor line in lines:\n    x1, y1, x2, y2 = line[0]\n    cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 2)\n\n# Display the result\ncv2.imshow(\"Lines\", img)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<h4>2. Robotics and automation:<\/h4>\n<p>OpenCV can be used to build applications for robot vision, such as object tracking, machine learning, and 3D reconstruction.<\/p>\n<p><strong>Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\nimport numpy as np\n\n# Load an image from disk\nimg = cv2.imread(\"image.jpg\")\n\n# Convert image to grayscale\ngray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n\n# Detect edges using Canny Edge Detector\nedges = cv2.Canny(gray, 50, 150)\n\n# Find contours in the image\ncontours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n\n# Draw contours on the original image\ncv2.drawContours(img, contours, -1, (0, 255, 0), 2)\n\n# Display the result\ncv2.imshow(\"Result\", img)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<p>In this example, OpenCV is used to detect edges and contours in an image. The result is displayed on the screen, which can then be used by the robot to perform further actions.<\/p>\n<h4>3. Surveillance and security:<\/h4>\n<p>OpenCV can be used to build applications for surveillance and security, such as face recognition, object detection, and motion tracking.<\/p>\n<h4>4. Augmented Reality:<\/h4>\n<p>OpenCV can be used to build applications for augmented reality, such as image and video stitching, feature detection and matching, and 3D reconstruction.<\/p>\n<p><strong>Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\nimport numpy as np\n\n# Load the reference image\nreference_image = cv2.imread(\"reference.jpg\")\n\n# Load the camera\ncap = cv2.VideoCapture(0)\n\nwhile True:\n    # Capture video frame-by-frame\n    ret, frame = cap.read()\n\n    # Convert the frame to grayscale\n    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\n\n    # Find the keypoints and descriptors using SIFT\n    sift = cv2.xfeatures2d.SIFT_create()\n    kp_frame, des_frame = sift.detectAndCompute(gray, None)\n    kp_reference, des_reference = sift.detectAndCompute(reference_image, None)\n\n    # Use BFMatcher to match the descriptors\n    bf = cv2.BFMatcher()\n    matches = bf.knnMatch(des_reference, des_frame, k=2)\n\n    # Filter the matches using the ratio test\n    good_matches = []\n    for m, n in matches:\n        if m.distance &lt; 0.75 * n.distance:\n            good_matches.append(m)\n\n    # Get the coordinates of the matched keypoints\n    reference_points = np.float32([kp_reference[m.queryIdx].pt for m in good_matches])\n    frame_points = np.float32([kp_frame[m.trainIdx].pt for m in good_matches])\n\n    # Compute the homography matrix\n    H, mask = cv2.findHomography(reference_points, frame_points, cv2.RANSAC)\n\n    # Use the homography matrix to transform the reference image\n    height, width, channels = reference_image.shape\n    transformed_reference = cv2.warpPerspective(reference_image, H, (width, height))\n\n    # Add the transformed reference image to the frame\n    result = cv2.addWeighted(frame, 0.5, transformed_reference, 0.5, 0)\n\n    # Display the result\n    cv2.imshow(\"Result\", result)\n\n    # Break the loop if the \"q\" key is pressed\n    if cv2.waitKey(1) &amp; 0xFF == ord(\"q\"):\n        break\n\n# Release the resources\ncap.release()\ncv2.destroyAllWindows()\n<\/pre>\n<p><strong>5. Corner Detection: <\/strong><\/p>\n<p>Corner detection is a technique used in computer vision to identify the points in an image that are distinctive and can be used to track the image features. In OpenCV, corner detection is performed using the cv2.goodFeaturesToTrack function which implements the Harris corner detection algorithm.<\/p>\n<p>This function takes an input grayscale image, and detects corners in the image by finding the points that have a large variation in intensity in all directions. The function returns the corners in the form of a list of points, represented as (x, y) coordinates.<\/p>\n<p>In addition to Harris corner detection, OpenCV also provides the Shi-Tomasi corner detector, which is an improved version of the Harris corner detector. The Shi-Tomasi corner detector can be used by specifying the cv2.cornerMinEigenVal or cv2.cornerHarris as the cornerDetectionMethod argument in the cv2.goodFeaturesToTrack function.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\nimport numpy as np\n\n# Load the image\nimg = cv2.imread(\"image.jpg\", 0)\n\n# Detect corners using the Harris corner detector\ncorners = cv2.goodFeaturesToTrack(img, 25, 0.01, 10, useHarrisDetector=True)\n\n# Convert the corners to integers\ncorners = np.int0(corners)\n\n# Draw the corners on the image\nfor i in corners:\n    x, y = i.ravel()\n    cv2.circle(img, (x, y), 3, (0, 0, 255), -1)\n\n# Display the image with the corners drawn\ncv2.imshow(\"Corners\", img)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<h4>6. Medical image processing:<\/h4>\n<p>OpenCV can be used to build applications for medical image processing, such as image segmentation, image registration, and image analysis.<\/p>\n<p><strong>Example<\/strong>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import cv2\nimport numpy as np\n\n# Load the medical image\nimage = cv2.imread(\"medical_image.jpg\", cv2.IMREAD_GRAYSCALE)\n\n# Apply thresholding to segment the foreground from the background\n_, thresholded = cv2.threshold(image, 128, 255, cv2.THRESH_BINARY)\n\n# Perform morphological operations to remove noise\nkernel = np.ones((5, 5), np.uint8)\nopened = cv2.morphologyEx(thresholded, cv2.MORPH_OPEN, kernel)\n\n# Find contours in the image\ncontours, _ = cv2.findContours(opened, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)\n\n# Draw the contours on the original image\ncontoured_image = cv2.drawContours(image, contours, -1, (0, 255, 0), 2)\n\n# Display the result\ncv2.imshow(\"Contoured Image\", contoured_image)\ncv2.waitKey(0)\ncv2.destroyAllWindows()\n<\/pre>\n<h4>7. Computer graphics:<\/h4>\n<p>OpenCV can be used to build applications for computer graphics, such as image processing, image warping, and image morphing.<\/p>\n<h4>8. Industrial Automation:<\/h4>\n<p>OpenCV can be used to build applications for industrial automation, such as object tracking, machine learning, and 3D reconstruction.<\/p>\n<h4>9. Self-driving cars:<\/h4>\n<p>OpenCV can be used to build applications for self-driving cars, such as object detection, lane detection, and image stitching.<\/p>\n<h4>10. Automated Quality control:<\/h4>\n<p>OpenCV can be used to build applications for automated quality control, such as object detection, machine learning, and image analysis.<\/p>\n<h4>11. Video editing:<\/h4>\n<p>OpenCV can be used to build applications for video editing, such as image stabilization, video denoising, and video super-resolution.<\/p>\n<h3>Conclusion<\/h3>\n<p>In conclusion, OpenCV is a powerful library for computer vision and image processing. It provides a wide range of features that can be used to build a variety of applications, such as object detection, face recognition, image and video processing, object tracking, and machine learning. The library is open-source and highly optimized, making it easy to use and efficient in performance.<\/p>\n<p>The features provided by OpenCV are not only limited to the above-mentioned list but also many more like 3D reconstruction, Image and video pyramids, Image and video histograms, Image and video gradient computation, Image and video morphology, Image and video filtering, Image and video transformation, Image and video feature detection, Image and video feature extraction, Image and video feature matching, Image and video feature description, Image and video feature matching, Image and video feature tracking, Image and video feature matching with FLANN and Image and video feature matching with KNN.<\/p>\n<p>With its extensive documentation and active community, developers can easily learn and implement the library in their projects, making it a valuable tool for building computer vision and image processing applications.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we will learn about exciting features of OpenCV thta every one must know. But before we start with, let&#8217;s see what is OpenCV? What is OpenCV? OpenCV (Open Source Computer Vision)&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":87364,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1053],"tags":[4928],"class_list":["post-87175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-opencv-features"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Open CV Features That You Must Know - TechVidvan<\/title>\n<meta name=\"description\" content=\"See the features of OpenCV that make it so useful like open source, fast and useful for many applications like image processing,etc.\" \/>\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\/open-cv-features\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Open CV Features That You Must Know - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"See the features of OpenCV that make it so useful like open source, fast and useful for many applications like image processing,etc.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/\" \/>\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-04-10T20:57:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/04\/open-cv-features.webp\" \/>\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\/webp\" \/>\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=\"8 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Open CV Features That You Must Know - TechVidvan","description":"See the features of OpenCV that make it so useful like open source, fast and useful for many applications like image processing,etc.","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\/open-cv-features\/","og_locale":"en_US","og_type":"article","og_title":"Open CV Features That You Must Know - TechVidvan","og_description":"See the features of OpenCV that make it so useful like open source, fast and useful for many applications like image processing,etc.","og_url":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2023-04-10T20:57:52+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/04\/open-cv-features.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Open CV Features That You Must Know","datePublished":"2023-04-10T20:57:52+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/"},"wordCount":1114,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/04\/open-cv-features.webp","keywords":["opencv features"],"articleSection":["Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/","url":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/","name":"Open CV Features That You Must Know - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/04\/open-cv-features.webp","datePublished":"2023-04-10T20:57:52+00:00","description":"See the features of OpenCV that make it so useful like open source, fast and useful for many applications like image processing,etc.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/open-cv-features\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/04\/open-cv-features.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2023\/04\/open-cv-features.webp","width":1200,"height":628,"caption":"open cv features"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/open-cv-features\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Open CV Features That You Must Know"}]},{"@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\/87175","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=87175"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/87175\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/87364"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=87175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=87175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=87175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}