{"id":78772,"date":"2020-05-19T15:11:42","date_gmt":"2020-05-19T09:41:42","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=78772"},"modified":"2020-05-19T15:11:42","modified_gmt":"2020-05-19T09:41:42","slug":"deep-learning-project-colorize-black-white-images-with-python","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/","title":{"rendered":"Deep Learning Project &#8211; Colorize Black &amp; White Images with Python"},"content":{"rendered":"<p>This Deep Learning Project aims to provide colorizing black &amp; white images with Python.<\/p>\n<p>In image colorization, we take a black and white image as input and produce a colored image. We will solve this project with OpenCV deep neural network.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/05\/Deep-Learning-Project-Colorize-Images-Python.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78778\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/05\/Deep-Learning-Project-Colorize-Images-Python.gif\" alt=\"Deep Learning Project Colorize Images Python\" width=\"1598\" height=\"696\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Deep Learning Project &#8211; Colorize Black &amp; White Images with Python<\/h2>\n<h3>Lab Color Space:<\/h3>\n<p>Like RGB, Lab is another color space. It is also three channel color space like RGB where the channels are:<\/p>\n<ul>\n<li>L channel: This channel represents the Lightness<\/li>\n<li>a channel: This channel represents green-red<\/li>\n<li>b channel: This channel represents blue-yellow<\/li>\n<\/ul>\n<p>In this color space, the grayscale part of the image is only encoded in L channel. Therefore Lab color space is more favorable for our project.<\/p>\n<h3>Problem Statement:<\/h3>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78773\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg\" alt=\"deep learning project colorize black white images with python\" width=\"802\" height=\"420\" \/><\/a><\/p>\n<p>We can formulate our problem statement as to predict a and b channels, given an input grayscale image.<\/p>\n<p>In this deep learning project, we will use OpenCV DNN architecture which is trained on ImageNet dataset. The neural net is trained with the L channel of images as input data and a,b channels as target data.<\/p>\n<h3>Steps to implement Image Colorization Project:<\/h3>\n<p>For colorizing black and white images we will be using a pre-trained <a href=\"https:\/\/caffe.berkeleyvision.org\/model_zoo.html\" target=\"_blank\" rel=\"noopener noreferrer\">caffe model<\/a>, a prototxt file, and a NumPy file.<\/p>\n<p>The prototxt file defines the network and the numpy file stores the cluster center points in numpy format.<\/p>\n<p>1. Make a directory with name models.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">mkdir models<\/pre>\n<p>2. Open the terminal and run following commands to download the caffemodel, prototxt file and the NumPy file.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">wget https:\/\/github.com\/richzhang\/colorization\/blob\/master\/colorization\/resources\/pts_in_hull.npy?raw=true -O .\/pts_in_hull.npy\n  \nwget https:\/\/raw.githubusercontent.com\/richzhang\/colorization\/master\/colorization\/models\/colorization_deploy_v2.prototxt -O .\/models\/colorization_deploy_v2.prototxt\n\nwget http:\/\/eecs.berkeley.edu\/~rich.zhang\/projects\/2016_colorization\/files\/demo_v2\/colorization_release_v2.caffemodel -O .\/models\/colorization_release_v2.caffemodel<\/pre>\n<p>3. Create a python file image_colorization.py and paste the code specified in the below steps<\/p>\n<p>4. Imports:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import numpy as np\nimport cv2 as cv\nimport os.path<\/pre>\n<p>5. Read B&amp;W image and load the caffemodel:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">frame = cv.imread(\u201c__test_image_path__\u201d)\n\nnumpy_file = np.load('.\/pts_in_hull.npy')\n\nCaffe_net = cv.dnn.readNetFromCaffe(\".\/models\/colorization_deploy_v2.prototxt\", \".\/models\/colorization_release_v2.caffemodel\")\n<\/pre>\n<p>6. Add layers to the caffe model:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">numpy_file = numpy_file.transpose().reshape(2, 313, 1, 1)\nCaffe_net.getLayer(Caffe_net.getLayerId('class8_ab')).blobs = [numpy_file.astype(np.float32)]\nCaffe_net.getLayer(Caffe_net.getLayerId('conv8_313_rh')).blobs = [np.full([1, 313], 2.606, np.float32)]\n<\/pre>\n<p>7. Extract L channel and resize it:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">input_width = 224\ninput_height = 224\n\nrgb_img = (frame[:,:,[2, 1, 0]] * 1.0 \/ 255).astype(np.float32)\nlab_img = cv.cvtColor(rgb_img, cv.COLOR_RGB2Lab)\nl_channel = lab_img[:,:,0] \n\nl_channel_resize = cv.resize(l_channel, (input_width, input_height)) \nl_channel_resize -= 50\n<\/pre>\n<p>8. Predict the ab channel and save the result:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Caffe_net.setInput(cv.dnn.blobFromImage(l_channel_resize))\nab_channel = Caffe_net.forward()[0,:,:,:].transpose((1,2,0)) \n\n(original_height,original_width) = rgb_img.shape[:2] \nab_channel_us = cv.resize(ab_channel, (original_width, original_height))\nlab_output = np.concatenate((l_channel[:,:,np.newaxis],ab_channel_us),axis=2) \nbgr_output = np.clip(cv.cvtColor(lab_output, cv.COLOR_Lab2BGR), 0, 1)\n\ncv.imwrite(\".\/result.png\", (bgr_output*255).astype(np.uint8))\n<\/pre>\n<p><strong>Results:<\/strong><\/p>\n<p>Now execute the deep learning project &#8211; run the python file with path of a grayscale image to test our results.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">python3 image_colorization.py<\/pre>\n<p>After running the above python file, the colorized image will be saved in your working directory as result.png<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/05\/Deep-Learning-Project-Colorize-Images-Python.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78778\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2020\/05\/Deep-Learning-Project-Colorize-Images-Python.gif\" alt=\"Deep Learning Project Colorize Images Python\" width=\"1598\" height=\"696\" \/><\/a><\/p>\n<h3>Code for GUI:<\/h3>\n<p>Make a new python file gui.py in the present directory. Paste the below code for image colorization interface.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import tkinter as tk\nfrom tkinter import *\nfrom tkinter import filedialog\nfrom PIL import Image, ImageTk\nimport os\nimport numpy as np\nimport cv2 as cv\nimport os.path\n\n\nnumpy_file = np.load('.\/pts_in_hull.npy')\nCaffe_net = cv.dnn.readNetFromCaffe(\".\/models\/colorization_deploy_v2.prototxt\", \".\/models\/colorization_release_v2.caffemodel\")\nnumpy_file = numpy_file.transpose().reshape(2, 313, 1, 1)\n\nclass Window(Frame):\n    def __init__(self, master=None):\n        Frame.__init__(self, master)\n\n        self.master = master\n        self.pos = []\n        self.master.title(\"B&amp;W Image Colorization\")\n        self.pack(fill=BOTH, expand=1)\n\n        menu = Menu(self.master)\n        self.master.config(menu=menu)\n\n        file = Menu(menu)\n        file.add_command(label=\"Upload Image\", command=self.uploadImage)\n        file.add_command(label=\"Color Image\", command=self.color)\n        menu.add_cascade(label=\"File\", menu=file)\n\n        self.canvas = tk.Canvas(self)\n        self.canvas.pack(fill=tk.BOTH, expand=True)\n        self.image = None\n        self.image2 = None\n\n        label1=Label(self,image=img)\n        label1.image=img\n        label1.place(x=400,y=370)\n\n\n\n\n    def uploadImage(self):\n        filename = filedialog.askopenfilename(initialdir=os.getcwd())\n        if not filename:\n            return\n        load = Image.open(filename)\n\n        load = load.resize((480, 360), Image.ANTIALIAS)\n\n        if self.image is None:\n            w, h = load.size\n            width, height = root.winfo_width(), root.winfo_height()\n            self.render = ImageTk.PhotoImage(load)\n            self.image = self.canvas.create_image((w \/ 2, h \/ 2), image=self.render)\n           \n        else:\n            self.canvas.delete(self.image3)\n            w, h = load.size\n            width, height = root.winfo_screenmmwidth(), root.winfo_screenheight()\n           \n            self.render2 = ImageTk.PhotoImage(load)\n            self.image2 = self.canvas.create_image((w \/ 2, h \/ 2), image=self.render2)\n\n\n        frame = cv.imread(filename)\n    \n        Caffe_net.getLayer(Caffe_net.getLayerId('class8_ab')).blobs = [numpy_file.astype(np.float32)]\n        Caffe_net.getLayer(Caffe_net.getLayerId('conv8_313_rh')).blobs = [np.full([1, 313], 2.606, np.float32)]\n\n        input_width = 224\n        input_height = 224\n\n        rgb_img = (frame[:,:,[2, 1, 0]] * 1.0 \/ 255).astype(np.float32)\n        lab_img = cv.cvtColor(rgb_img, cv.COLOR_RGB2Lab)\n        l_channel = lab_img[:,:,0] \n\n        l_channel_resize = cv.resize(l_channel, (input_width, input_height)) \n        l_channel_resize -= 50 \n\n        Caffe_net.setInput(cv.dnn.blobFromImage(l_channel_resize))\n        ab_channel = Caffe_net.forward()[0,:,:,:].transpose((1,2,0)) \n\n        (original_height,original_width) = rgb_img.shape[:2] \n        ab_channel_us = cv.resize(ab_channel, (original_width, original_height))\n        lab_output = np.concatenate((l_channel[:,:,np.newaxis],ab_channel_us),axis=2) \n        bgr_output = np.clip(cv.cvtColor(lab_output, cv.COLOR_Lab2BGR), 0, 1)\n\n  \n        cv.imwrite(\".\/result.png\", (bgr_output*255).astype(np.uint8))\n\n    def color(self):\n\n        load = Image.open(\".\/result.png\")\n        load = load.resize((480, 360), Image.ANTIALIAS)\n\n        if self.image is None:\n            w, h = load.size\n            self.render = ImageTk.PhotoImage(load)\n            self.image = self.canvas.create_image((w \/ 2, h\/2), image=self.render)\n            root.geometry(\"%dx%d\" % (w, h))\n        else:\n            w, h = load.size\n            width, height = root.winfo_screenmmwidth(), root.winfo_screenheight()\n\n            self.render3 = ImageTk.PhotoImage(load)\n            self.image3 = self.canvas.create_image((w \/ 2, h \/ 2), image=self.render3)\n            self.canvas.move(self.image3, 500, 0)\n \n\nroot = tk.Tk()\nroot.geometry(\"%dx%d\" % (980, 600))\nroot.title(\"B&amp;W Image Colorization GUI\")\nimg = ImageTk.PhotoImage(Image.open(\"logo2.png\"))\n\napp = Window(root)\napp.pack(fill=tk.BOTH, expand=1)\nroot.mainloop()<\/pre>\n<h2>Summary:<\/h2>\n<p>This tutorial guides you how to build a deep learning project to colorize black and white images. It first introduces you to Lab color space and why it is favorable for our problem statement. Then step by step it describes how to implement black and white image colorizer.<\/p>\n<p><strong>Are you looking for more deep learning projects with source code?\u00a0<\/strong>Please write in comment section, we will develop and publish the project.<\/p>\n<p><strong>Do you like our efforts?<\/strong> Please rate <strong><a href=\"https:\/\/g.page\/r\/CblCpy_KmqwYEAU\/review\" target=\"_blank\" rel=\"noopener noreferrer\">TechVidvan<\/a><\/strong> on Google.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This Deep Learning Project aims to provide colorizing black &amp; white images with Python. In image colorization, we take a black and white image as input and produce a colored image. We will solve&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":78773,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210],"tags":[2681,2597,2598,2682,2683],"class_list":["post-78772","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-colorize-black-while-image","tag-deep-learning","tag-deep-learning-project","tag-deep-learning-with-python","tag-python-image-colorize"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deep Learning Project - Colorize Black &amp; White Images with Python - TechVidvan<\/title>\n<meta name=\"description\" content=\"This Deep Learning Project project aims to provide you how to colorize black &amp; white images using deep learning with Python. In image colorization, we take a black and white image as input &amp; produce a colored image. We will solve this project with OpenCV DNN.\" \/>\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\/deep-learning-project-colorize-black-white-images-with-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep Learning Project - Colorize Black &amp; White Images with Python - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"This Deep Learning Project project aims to provide you how to colorize black &amp; white images using deep learning with Python. In image colorization, we take a black and white image as input &amp; produce a colored image. We will solve this project with OpenCV DNN.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-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=\"2020-05-19T09:41:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\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":"Deep Learning Project - Colorize Black &amp; White Images with Python - TechVidvan","description":"This Deep Learning Project project aims to provide you how to colorize black & white images using deep learning with Python. In image colorization, we take a black and white image as input & produce a colored image. We will solve this project with OpenCV DNN.","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\/deep-learning-project-colorize-black-white-images-with-python\/","og_locale":"en_US","og_type":"article","og_title":"Deep Learning Project - Colorize Black &amp; White Images with Python - TechVidvan","og_description":"This Deep Learning Project project aims to provide you how to colorize black & white images using deep learning with Python. In image colorization, we take a black and white image as input & produce a colored image. We will solve this project with OpenCV DNN.","og_url":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2020-05-19T09:41:42+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/05\/deep-learning-project-colorize-black-white-images-with-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":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Deep Learning Project &#8211; Colorize Black &amp; White Images with Python","datePublished":"2020-05-19T09:41:42+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/"},"wordCount":449,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg","keywords":["colorize black &amp; while image","Deep learning","deep learning project","deep learning with python","python image colorize"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/","url":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/","name":"Deep Learning Project - Colorize Black &amp; White Images with Python - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg","datePublished":"2020-05-19T09:41:42+00:00","description":"This Deep Learning Project project aims to provide you how to colorize black & white images using deep learning with Python. In image colorization, we take a black and white image as input & produce a colored image. We will solve this project with OpenCV DNN.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2020\/05\/deep-learning-project-colorize-black-white-images-with-python.jpg","width":802,"height":420,"caption":"deep learning project colorize black white images with python"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/deep-learning-project-colorize-black-white-images-with-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Deep Learning Project &#8211; Colorize Black &amp; White Images with Python"}]},{"@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\/78772","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=78772"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/78772\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/78773"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=78772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=78772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=78772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}