Transforming Vision into Automation

Real Time Car Number Plates Extraction in 30 Minutes 🔥| OpenCV Python | Computer Vision | EasyOCR

Estimated read time: 1:20

    Learn to use AI like a Pro

    Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.

    Canva Logo
    Claude AI Logo
    Google Gemini Logo
    HeyGen Logo
    Hugging Face Logo
    Microsoft Logo
    OpenAI Logo
    Zapier Logo
    Canva Logo
    Claude AI Logo
    Google Gemini Logo
    HeyGen Logo
    Hugging Face Logo
    Microsoft Logo
    OpenAI Logo
    Zapier Logo

    Summary

    Dive into the world of computer vision with this comprehensive guide to real-time car number plate extraction using OpenCV and EasyOCR. The video illustrates how to develop a system to detect, extract, and read car number plates automatically from video feeds, a practical solution for managing vehicular data efficiently. While neural networks are one option, this tutorial leverages OpenCV's hard cascade model for its simplicity and efficiency. Featuring step-by-step instructions from environment setup to implementation, it's tailored for both beginners and those new to OpenCV, making it a perfect starting point for automating number plate extraction through computer vision.

      Highlights

      • Learn to use OpenCV for detecting car number plates efficiently 🚗.
      • Implementing OCR with EasyOCR for text extraction from number plates 📖.
      • Step-by-step guide to setting up your environment using Anaconda 📦.
      • Using Cascade Classifiers in OpenCV for lightweight and efficient detection 🌟.
      • Integrate the system with camera feeds for real-time traffic management applications 🚦.

      Key Takeaways

      • OpenCV can effectively handle real-time car number plate extraction without complicated neural networks 🔍.
      • Harnessing EasyOCR with OpenCV allows for automated text extraction from number plates 📜.
      • Creating a virtual environment with Anaconda is crucial for managing project dependencies 🎩.
      • The project demonstrates a practical application in traffic management with potential for automation 🤖.
      • Viewers are encouraged to expand on the project by integrating EasyOCR directly into the number plate extraction process for seamless data collection 📊.

      Overview

      In this exciting session from DSwithBappy, viewers are taken through the process of building a real-time car number plate recognition system using OpenCV Python and EasyOCR. The project begins with setting up an environment using Anaconda, crucial for keeping dependencies organized for such a dynamic task. The focus is on making the technology accessible and usable in real-world applications such as traffic management.

        The tutorial emphasizes the simplicity and efficiency of using OpenCV's hard cascade models over more complex neural networks for detecting number plates. This approach is highlighted as being suitable for industry applications where resource constraints might exist. With step-by-step instructions, users can easily follow along to get their system running without significant prior knowledge of deep learning or computer vision.

          As the project progresses, EasyOCR is introduced to handle the extraction of text from the identified number plates. This part of the tutorial showcases how to merge detection and interpretation seamlessly, transforming images into actionable data. The session encourages further enhancement and creativity, motivating viewers to integrate OCR directly within the detection code, which could further streamline the automation of vehicle data collection.

            Chapters

            • 00:00 - 02:30: Introduction to Number Plate Detection The chapter introduces a project on number plate detection using OpenCV, as presented in a YouTube video. The project involves writing code to create a system that detects car number plates and extracts the number plate portion from the whole car.
            • 03:00 - 07:00: Project Setup and Environment Creation The chapter titled 'Project Setup and Environment Creation' discusses an experiment focusing on extracting numbers from a number plate using OCR (Optical Character Recognition). It highlights the choice of using OpenCV instead of neural networks for this purpose, noting that neural networks are not always necessary for such tasks. The emphasis is on understanding and applying OCR without heavy reliance on complex neural networks.
            • 07:00 - 11:00: OpenCV Installation and Testing In this chapter, the focus is on installing and testing OpenCV, specifically utilizing the hard cascade model for tasks like card number plate detection. The chapter discusses how OpenCV, despite being considered less advanced due to its hard-coded approach, performed well in experiments. Additionally, it mentions the author's experiments with neural network-based approaches, which are available on their YouTube channel.
            • 11:00 - 15:00: Loading Haar Cascade Model This chapter discusses the usage of various versions of the YOLO (You Only Look Once) model, including YOLO V5, V6, V7, and the latest YOLO V8. The content is particularly aimed at beginners who wish to learn coding with a focus on projects. The chapter also highlights the motivational aspect of engaging with these projects and notes the current industrial use of OpenCV (Open Source Computer Vision Library).
            • 15:00 - 19:00: Camera and Image Processing The chapter discusses the widespread use of OpenCV in the field of internet-based camera and image processing. A specific use case is described: collecting car numbers from traffic through camera feeds and storing them in a database. This process involves manual observation of cars, which OpenCV can help automate, enhancing efficiency and utility.
            • 19:00 - 24:00: Detecting Number Plates with OpenCV The chapter discusses the automation of detecting vehicle number plates using OpenCV. It highlights how this task, which traditionally involves manually jotting down numbers, can now be automated with technology. By installing computer vision systems on CCTV cameras, the process of extracting and recording vehicle information such as number plates can be automated. This technology allows for automatic text extraction from number plates, which is then stored in a database, showcasing an efficient application of computer vision.
            • 24:00 - 30:00: Extracting and Saving Number Plate Images The chapter titled 'Extracting and Saving Number Plate Images' begins with highlighting potential use cases for the project. However, the speaker decides to keep the focus on a few key applications instead of exploring too many examples. The agenda of the video is hinted at, suggesting a practical implementation guide. The speaker has prepared a project environment by creating a folder named 'number plate'. The instruction involves opening a terminal within this project folder. A prerequisite knowledge or setup indicated in the chapter is having Anaconda installed, as the speaker assumes the audience has this installed on their system. For those who do not, viewers are encouraged to check further instructions on its installation. Overall, the chapter introduces the initial setup and prerequisites required for extracting and saving number plate images using a practical demonstration approach.
            • 30:00 - 37:00: OCR Implementation with EasyOCR The chapter provides a guide on implementing OCR (Optical Character Recognition) using EasyOCR while emphasizing the importance of setting up a virtual environment using Anaconda. Initially, it discusses installing Anaconda, which is essential for creating isolated environments for different Python projects. The virtual environment allows the user to specify different versions of Python, separate from the default installation. Specifically, the narrator chooses to utilize Python 3.7 for this particular OCR project, despite having Python 3.9 set as the default in Anaconda.
            • 37:00 - 39:00: Challenge and Project Conclusion The chapter 'Challenge and Project Conclusion' discusses the process of creating a virtual environment. It explains how to create an environment using 'conda' by specifying the name and the desired Python version, in this case, Python 3.7. The content focuses on the commands and steps needed to initiate the creation of a virtual environment.

            Real Time Car Number Plates Extraction in 30 Minutes 🔥| OpenCV Python | Computer Vision | EasyOCR Transcription

            • 00:00 - 00:30 hello everyone welcome to my YouTube channel so in this video we'll be implementing one Amazing Project called number player detection using opencb so here actually uh we can implement this project by writing some line of code and this is going to be amazing guys because here actually what we are going to do let me tell you so basically here we'll be building one system okay so it would be able to detect your card number plate okay and it will give you that number plate uh like you can say portion okay see this is the this is the car this is the entire car and this is the number
            • 00:30 - 01:00 plate and it will return uh this uh like portion of your number plate okay that means your Roi region of Interest then uh what we are going to do we are going to apply OCR that means Optical Character recognization then we'll be also extracting the so we'll be also like you can say extracting these numbers from the plate itself okay so here uh basically this is uh going to be one Amazing Experiment uh now you can tell me why I'm not using neural network okay uh why I'm using opencb uh because uh always you don't have to use neural
            • 01:00 - 01:30 network based uh frequency approach if anything can be done using some simple approach okay so you can go with that so opencb has like lots of Hard Cascade model and it's like very lightweight although it's like hard coated but it will work okay in some cases so I was like doing some experiment uh using opencv hard casket model OKAY on this uh card number plate detection and it was giving me the good results okay so that's why I thought Let's uh okay use opencb okay although I've created a lots of like you can say neural network based approaches also in my YouTube channel if
            • 01:30 - 02:00 you see I have used YOLO V5 yellow V6 yellow V7 even yellow V8 also recently I've created okay so you can check out those videos uh but it is for those uh like uh who actually wants to like learn about the project okay for those actually who are starting with the coding okay so it will give so it will give a lot of motivation of okay to them like whenever they will be learning these kinds of uh like you can see project okay and nowadays actually opencv is being used by the industry itself uh okay now if you see uh like
            • 02:00 - 02:30 over the Internet okay like people are using opencb like very broadly now you can ask me what would be the use case of this project so it's like very simple suppose goes up now now it is like there are lots of traffic so uh but suppose if I assign one task like you need to collect all the like you can say car numbers okay and if you store those number okay in some like uh database or in some nodes so that uh we can use these are the numbers well we can see later on so what you will do even uh like uh observe all the car manually you
            • 02:30 - 03:00 will write down okay all these numbers and you will note down each and everything but we can automate this task nowadays actually if you see uh on the traffic roads okay there would be lots of CC cameras okay so if we can Implement these are the project if we can uh we can say install these are the project on the CC camera so what it will do it will automatically extract this car information okay this card number plate and it will like automatically extract this uh text from the plate itself okay and it will start to the database so we can automate this entire system using this computer vision okay so you can consider this is one of the
            • 03:00 - 03:30 you can say use cases of this project okay now you can consider like lots of use cases but as of now let's consider these use cases okay so yes guys I think you uh got it uh what would be the agenda okay from this video so now instead of talking too much let's start with our implementation so guys uh I have created one folder here called number plate uh okay so this is my project folder so here actually I'll be opening my terminal so I'm expecting you have already Anaconda installed in your system okay uh if you don't have you can check out
            • 03:30 - 04:00 my video I have already shown like how to install anaconda and all okay and you can install your anaconda you can configure okay so here basically first of all we need to create one virtual environment uh so if you don't know about virtual environment virtual environment is a environment okay uh so it like allows you to create uh like the environment with any kinds of you can say python version okay so here basically I'm currently using python three point uh you can say nine okay in my uh like default Anaconda but I want to use Python 3.7 okay for this project
            • 04:00 - 04:30 so for that I need to create one virtual environment okay so to create the environment what you need to do just write conda and print okay High pin n just give the name of your environment let's give a number okay because you can give any number like I'm just giving number okay and here you can mention the python version so here I will just write python equal to 3.7 okay and here just like give a hyphen white okay now if you hit enter so it will uh start creating the
            • 04:30 - 05:00 environment okay so guys as you can see our environment creation is done now I need to activate the environment for this this is the command okay just try to run so I'll just write conda activate number okay now if you see uh this Anaconda 3 would be changed by number okay now that means our environment has been activated okay now here basically if so now here
            • 05:00 - 05:30 what I need to do I need to open my vs code so I'll open my vs4 I will just write code Dot uh you can manually also open your vs code or whatever like code editor you are using but I mean I will be using vs code okay so here first of all I will be creating one file called requirement.txt so I'll just write require men Dot txt okay sorry it would be txt
            • 05:30 - 06:00 okay so here actually I'll be mentioning uh like requirement so here I'll be using opencb so I I need to mention opencv here so here you just need to write opencv okay opencv python that's it now press Ctrl s okay now I'll open my terminal and what I need to do I will just write peep install
            • 06:00 - 06:30 hypnr requirement.txt so it will install opencv Okay in this environment so guys as you can see installation is done okay now let's clear the terminal so if you want to test uh whether you have successfully installed opencv or not so for that let's create one file here called uh number late
            • 06:30 - 07:00 dot pi okay so here let's import opencv I will just write CV2 that's how you import opencb and I'll just write paint uh running okay now if it is printing running that means everything is fine so here uh let's execute this file that will just write python number plate dot pi see guys it's printing running okay that means it has installed successfully okay now uh what I need I need one hard
            • 07:00 - 07:30 Cascade model okay so for that uh I have already downloaded this model so let me show you so I will just create one folder called uh model okay inside that I will uh like paste this file okay so this is the XML file if I show you if I open this one using notepad plus plus okay so this is the hard Cascade actually algorithm so it is like
            • 07:30 - 08:00 hard coded value everything like is like hard coded here okay so if you are using opencv so you have this kind of hard Cascade like model so the name of like Hardcastle model is like hard casket Russian plate number XML okay so how I I got this like file okay so you can get these are the file okay from the internet itself for that what you need to do just search by the name I'll just copy the name okay now if you come to Google and just
            • 08:00 - 08:30 paste the name okay uh now just write uh download okay so if you just starts it so you will get some of the GitHub URL just open this up and here if you see if you just go to the hard casket so this kind of file actually will get so what you can do you can download as zip file okay and you can extract this uh uh like you can say XML file okay and you can just keep it inside your model folder so for me I have already kept okay
            • 08:30 - 09:00 I've already kept so now what I need to do first of all let me like uh turn off my camera because uh here actually I'm using opencv and I will be opening my camera okay so if it is already open so it will give error okay so first of all let me like uh close my camera so here first of all I'll be defining one variable called hard casket okay so here I just need to mention the model path so let's mention the model path so it is
            • 09:00 - 09:30 inside this uh what you can do you can just uh copy the path copy relevant path and just paste it here okay and instead of forward slash just instead of backwards let's just give forward slash okay now what I need to do I need to read my camera so I'll just write cap Dot CV2 uh dot video capture so here I will give 0 okay so it will
            • 09:30 - 10:00 use my default camera actually I'm using like multiple camera so if you have multiple camera you can change the ID so I'm giving zero let's see which camera it will access okay so now I need to set uh you can say my window like you can say width and height so what I can do I'll just write cap dot set so let's give three comma so basically what is three three is Leo like you can say a width okay so with ID
            • 10:00 - 10:30 is three so here now mention your width so I'll just give six four zero and uh for my height it would be I think four okay so here I will mention of four eight zero okay so this is my width uh this is my width okay and this is my height
            • 10:30 - 11:00 okay so now what I need to do I need to mention one while loop well is equal to a while true okay so here first of all I need to like get the frame so here how it will return you it will return two things one is like your success statement and your emails Fame I'll just write cap dot read
            • 11:00 - 11:30 okay so now what I need to do I need to load my hard Cascade model so for that let's create one variable called late uh Cascade okay here there is a method inside CB2 which is nothing but Cascade uh classifier okay so inside that you just need to pass your hard Cascade model file path that's it so it will load your Cascade model uh
            • 11:30 - 12:00 now what I need to do I need to also load my image as a graying scale okay so I'll just write image Gray because if you don't know your uh like uh this uh hard casket actually accept this grayscale image okay instead of RGB image okay so it should be Gray so I'll just write I'll just convert my uh you can say RGB image to grayscale so
            • 12:00 - 12:30 for that what I will do I'll just write CV2 dot CVT color that means convert color okay so here I need to pass my image the image I'm getting okay the frame I'm getting now here I just need to write CV2 BGR to gray okay CB2 color uh BGR to grade but means you are like converting your RGB or BGR whatever to grayscale events okay now uh what you need to do you need to like uh you need your plate coordinates
            • 12:30 - 13:00 now what you need you need your plate coordinates so how you can get your plate coordinates so I'll just write plate so I'll just call this variable okay so inside that actually there is a method called detect uh multi scale okay I think multi-skill so here basically I need to pass my this
            • 13:00 - 13:30 grayscale image okay and it will take two more argument so it's a default number okay you can get it from opencb documentation if you're like loading any uh like you can say hard Cascade model okay so uh whenever you are trying to get the coordinates that means the rejection so at that time you need to pass some of the argument so they are telling like just by default keep it is 1.1 okay and uh the second one just keep it as four okay you can play with this parameter but uh I was
            • 13:30 - 14:00 doing some experiment okay this two value was giving the good answer okay so now it will return my like you can say number plate coordinates okay this coordinates now I need to go through one for Loop so for uh it will return me four things x y okay x coordinate y coordinate and your width and height okay so this for information it will give uh in my plate
            • 14:00 - 14:30 so I'm actually looping on my plates okay then what I need to do I need to mention what area okay if I show you that uh image again so guys uh if you see the image carefully so basically this uh plate has one area Okay so it depends upon the country okay so like in different different country your car plate like you can say area would be different okay suppose in Bangladesh it might be different in India it might be different okay uh in US it might be different so
            • 14:30 - 15:00 uh like whichever country you are living okay whichever country you are considering the car so with respect to that you need to select the area okay so in this uh video actually I'm just considering like like image related card okay and I was just checking the you can say area uh it was around you can say uh like 500 okay Min area is equal to 5 500 around okay but whenever you are trying to building this actual project try to like get the area of a number plate okay with respect to that you can set this uh
            • 15:00 - 15:30 statement okay but uh as of now let's take it easy area is equal to 500 okay now what I will do I'll come here so here I will mention uh one variable called mean area okay here I will just give 500 yeah now there actually I will uh calculate the area so I'll just rewrite area equal to if you know how to create the how to calculate
            • 15:30 - 16:00 the area so we just multiply our width and height okay it will return me the area so now I will do one if statement so here I will do one conditional statement if my area uh area is uh greater than my mean area okay so if it is greater okay if it is greater than my mean area so I can consider it's it's the number plate okay if it is less than then I can consider it's a number play because I know my uh
            • 16:00 - 16:30 number plate uh area should be like that okay if it is not matching that that means it's not it's not the number plate okay it might be other number plate okay Suppose there are many vehicles okay if I talk about a motorcycle or any any Vehicles okay so this area should be like you can say different okay at that point of time so that's why I'm checking the statement if my area is greater than Min area that that means I am considering it's a car number plate okay so now if it isn't like you can say greater than uh your area main area so
            • 16:30 - 17:00 what I will do I will detect the equation number plate so for this I'll I'll just write one uh so for this actually I will create one rectangle I will create one detection boundary so I'll just write CV2 dot rectangle okay so here first of all you need to pass your image like which image actually you want to draw a rectangle and here you you need to give the minimum coordinate point of your rectangle okay which is nothing but X and Y and uh also you need to give the maximum
            • 17:00 - 17:30 uh like you can say coordinates so it would be X Plus uh you can say w and uh y plus h okay so that's actually you can write uh this your maximum coordinate point okay now once it is done you need to also mention the color of this bounding bounding box so let's give this color uh uh let's give green color okay so zero
            • 17:30 - 18:00 255 0 okay so this is the color code of uh you can say green color like the first value is r g b okay that's how we select the color now here I just need to mention the thickness okay let's give this uh give it as two and now once it is done then I also need to actually uh show one you can say a message okay like this is a number plate okay so for this actually you can write this code so basically it will
            • 18:00 - 18:30 show the number plate so here I'm just writing put text I'm giving my image okay on top of the image it will just show number plate okay that's it like this is the number plate okay so that's actually it will show so it would be clear whenever I'll be running this like project okay then I'm like selecting my font well like text font okay then I'm giving the skill then I'm giving the color then I'm giving the thickness of this text okay so now once everything is done then uh what I I can do let's show
            • 18:30 - 19:00 show my image okay whether uh it's detecting perfectly or not so for this I will just write CV2 Dot I'm sure so here let's give one uh window name result and here I I just need to pass my image okay then here uh now uh if you want to close your camera also so for that actually what you can do you can write this code so this is the default opencv
            • 19:00 - 19:30 code so basically if you just press Q from your keyboard okay so it will actually uh like close all the window okay so now let's test it whether it's working or not so yeah guys uh like that much of code you just need to write We'll add some additional code here okay because as of now we are just doing the detection now let's open my uh command prompt and I'll just run this file python number plate dot pi so guys as you can see uh it's uh it has
            • 19:30 - 20:00 already opened my camera so now let's show one card image and let's see whether it is able to detect or not so I kept one card image in my smartphone okay so now let me show it here uh see guys it's detecting the plate so let me see guys it's detecting okay and on top of that you can see it's showing number plate okay so now what is my task I need to extract this uh
            • 20:00 - 20:30 number plate from this car okay and I need to uh save this image inside a folder okay then I will be applying those here so let's do it so what I will do I'll just press Q from my keyboard and it will uh stop your window okay so now for this what I need to do you need to write some additional code so after that what I will do um I will create one image Roi
            • 20:30 - 21:00 means your region of Interest okay you want to like take so which is nothing but my uh this one my number plate so to get the number plate okay basically here I I'm just doing cropping so to do the automatic cropping uh of your detection so there is a pattern you can follow so I'll just write it here so this is the pattern okay y uh 2 y plus h x is to uh X X plus a w okay so if you
            • 21:00 - 21:30 just give this it will automatically like crop those portion like your only number plate portion okay and once you get it you need to save this uh like portion uh inside a folder uh so before before saving it let's show in in on our window okay so what else is what I will do I'll just write image a cb2. I'm sure okay so here let's give one
            • 21:30 - 22:00 window message called Roi and here let's pass my image Roi okay that's it uh now let's check whether it's giving me that option or not let's again execute the code so guys again it has opened the camera so now let me show my okay see guys uh right hand side if you see it is creating another window and it's
            • 22:00 - 22:30 giving only the number number plate okay number plate image okay let's see uh it's not giving my entire car it's giving that portion okay so now what I need to do I need to save this uh uh like uh this image okay inside a folder so that I can apply OCR on top of that again I will press Q it will stop the execution so to save this one I prepared one code so what you just need to do here
            • 22:30 - 23:00 so instead of bake here so what I uh what you will do instead of pressing QR if I press s from my keyboard okay so it will save the image so for that you just need to mention this code so basically uh what I need to do I need to create one folder here let's create outside so I'll just write plate
            • 23:00 - 23:30 okay plates and now let's change it here okay inside plates it will save your image as a scanned image okay and it will make one count like uh like what it will do if you just press s it will say one image again if you press uh s okay it will say I uh another image okay that's actually it will like keep on
            • 23:30 - 24:00 saving okay and it will be assigning one count so we haven't mentioned the count so here we we can mention the count so I'll initially mention the count equal to zero okay so now uh once it is done and it will show one message also like image has been saved here okay so now let's test it whether it's working or not so I will again execute the code okay guys uh now let's uh show my image again
            • 24:00 - 24:30 see guys uh it's detecting the plate okay now if I press s from my keyboard see it it's telling plate set okay if I press it again okay it will tell uh play plate saved if I again click okay that's actually if you press uh s from your keyboard it will save all the plate image okay now if I show you let me press Q so it should
            • 24:30 - 25:00 okay uh now to stop your code you just need to press Ctrl C from the keyboard it will stop the execution now if I come inside plate folder now see guys it has saved all these scan image okay see guys okay so now I just need to apply OCR on top of that so for that what I will do I already prepared one uh this is The Notebook guys so here I'll be using easyos here so first of all let's
            • 25:00 - 25:30 connect our notebook it's connecting okay now first of all let me install easyos here so it will install the seos here now here first of all let's import so basically here I was testing this ezos here using some other image so that's why it's showing here so now actually what I will do I will upload my
            • 25:30 - 26:00 image here okay so I will uh come to my here and from the plate itself let let's copy one image what I will do I'll just drag and drop here okay so I'm just showing for one image okay so you can just automate this thing you just write one for Loop so it will take uh one by one all the images and it will save in Excel file or in a database okay
            • 26:00 - 26:30 you can automate this thing so now let's uh uh okay so now let's copy the location copy path and here I will keep now if I execute this cell okay it will show that uh image here okay now first of all to use Easy uh easier said okay you just need to like initialize the reader so here it is the English text okay so that's why I'm giving English language so easier supports like multiple languages okay with respect to your
            • 26:30 - 27:00 language you can select so I'm using English language okay so here that's why I mean like uh downloading this uh English reader okay so C is downloading so once uh in a reader has been initialized then I just need to pass this image location okay to my read text here now if I execute this cell so it will give me the output okay now if I show you the output
            • 27:00 - 27:30 okay now guys if I show you that image see guys it is successfully extracting this text my seven zero okay my seven zero ba b m n okay uh although see it's giving some wrong prediction because this is like a little bit uh a blower image okay but uh if you're like showing this image carefully okay if it is not blower then it will give good results okay so some
            • 27:30 - 28:00 of the mistake you may get but don't worry I just uh only showed you the process how you can do it okay uh if you just uh try it with other image okay it will work fine I was testing and it was giving me good good results okay now what you can do you can extract this text okay and you can save in a database okay like for this car this was the number okay for this card this was the number that's actually you can keep on saving okay instead of manual observation now actually you have automated this thing okay so now I I just want to give you one assignment okay so what you can do uh you can click
            • 28:00 - 28:30 automate this entire system okay just try to add easy OCR in this number plate also okay so once I am pressing this s uh so what it will do instead of just uh saving okay inside the folder it will also extract the text and it will also say save to a Excel file okay and it will give me the Excel file okay at the last so that's how actually you can do it okay so yes guys I think uh I am done with this implementation okay this is all about the project and it's like very easy to implement okay this project I
            • 28:30 - 29:00 think I uh I think you got it like the overall idea like how to implement is uh this kind of project okay so guys if you like this video so try to subscribe to my channel okay try to share this video so if you want this kind of project mode just let me know okay so thank you so much for watching this video and I will see you next time