Automatic number plate recognition with Python, Easyocr and OpenCV | Computer vision tutorial

  Рет қаралды 47,822

Computer vision engineer

Computer vision engineer

Жыл бұрын

Code: github.com/computervisioneng/...
These are the repositories we use in this video:
- Object detection using yolov3 from OpenCV: github.com/computervisioneng/...
- License plate detector: github.com/computervisioneng/...
#computervision #opencv #ocr

Пікірлер: 169
@ComputerVisionEngineer
@ComputerVisionEngineer 8 ай бұрын
Did you enjoy this video? Try my premium courses! 😃🙌😊 ● End-To-End Computer Vision: Build and Deploy a Video Summarization API bit.ly/3tyQX0M ● Hands-On Computer Vision in the Cloud: Building an AWS-based Real Time Number Plate Recognition System bit.ly/3RXrE1Y ● Machine Learning Entrepreneur: How to start your entrepreneurial journey as a freelancer and content creator bit.ly/4bFLeaC All my premium courses are available to the Computer Vision Experts in my Patreon. 😉 www.patreon.com/ComputerVisionEngineer
@debauch-Casanova
@debauch-Casanova Жыл бұрын
This man is so underappreciated, His code quality is really good, he needs more recognition.❤️
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
😃🥰
@thabomorenammelefrank4770
@thabomorenammelefrank4770 11 ай бұрын
This is the most helpful tutorail on computer vision by far, Thank you so so much for this
@ComputerVisionEngineer
@ComputerVisionEngineer 11 ай бұрын
Thank you! Glad it was helpful! 😃🙌
@m.arifffirdaus686
@m.arifffirdaus686 Жыл бұрын
Hello Sir, I really glad for your video tutorial. It really help me for my final year project since I am not computer science student. I wish you great health and can continue sharing your knowledge!
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
I am very happy you found the video useful! 😃🙌
@ri__-yr2pw
@ri__-yr2pw Жыл бұрын
Man you are a genius!!! Why don't you still have a million subs!!!!! You even provide the code!!!!
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
lol, thank you for your support!! I am happy you find my content useful! 😄💪
@thabomorenammelefrank4770
@thabomorenammelefrank4770 3 ай бұрын
This project helped me complete my school project and I am so greatful
@jabir5024
@jabir5024 Ай бұрын
Great tutorial Sir. Thank you
@gl4665
@gl4665 Жыл бұрын
Great idea! A few years ago a friend of mine, who passed away, encourage me to make something like this and sell it to buildings or private neighbourhoods. I didn't took it seriously and now they are all over the place. Do you have a discord server? I would be happy to join. Also, please make more ideas like this that can be profitable in some way!
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey! I will probably create a discord server soon, stay tuned! 🤖 Computer vision projects that have the potential to be profitable are my favorite type of project! 😄 I will upload more projects like this in the future! 😃💪
@ajibadeisaiah
@ajibadeisaiah Жыл бұрын
thank for always being a blessing love you bro
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
My pleasure! 😃💪
@neelshah1651
@neelshah1651 Жыл бұрын
thank you bro!!
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Thank you for watching!! 😃😃
@EimiFukadaa
@EimiFukadaa Жыл бұрын
thankyou for the code 😍😍😍
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
You are welcome! 😄🙌
@ecsyntric
@ecsyntric Жыл бұрын
another cool vid. subscribed how about same thing with live traffic video. wondering how high the resolution needs to be for the model to work
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, thank you, glad you enjoyed it! That is a very good idea, I will try to find a good video for that. 💪🙌
@karimbya2252
@karimbya2252 6 ай бұрын
Thank you for this video !! Can you tell me how can import this solution in power apps ?
@IsfhanAhmed
@IsfhanAhmed Жыл бұрын
Just came here to like the video
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Thank you so much for your support, Isfhan! 😄🙌
@IsfhanAhmed
@IsfhanAhmed Жыл бұрын
@@ComputerVisionEngineer I also have youtube channel and i know it requried alot of hard work
@eduardo9626
@eduardo9626 Жыл бұрын
Thanks for this vídeo
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
You are welcome, Eduardo! 😃🙌
@andhreh
@andhreh Жыл бұрын
Hey man !! Nice job! thank you for this ! I want to do this with video source files ? Do you have any tutorial about this ?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Andre, thank you! 😄 I don't have a tutorial on license plate recognition on a video. If you want to apply it to a video you would need to iterate in all the frames and for each frame is the same process as in this tutorial. 🙌
@airportoperationlandsidete3577
@airportoperationlandsidete3577 7 ай бұрын
can we use image from google???
@JomariMuzada
@JomariMuzada Жыл бұрын
Hi Sir, you are so amazing, can I ask if possible to do a parking system that use computer vision in the parking area and after that it will process the plate number of it and the data will go to the database?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Jomari, that sounds like a very interesting project! I will try to do a video about it! 😃💪
@JomariMuzada
@JomariMuzada Жыл бұрын
@@ComputerVisionEngineer thank you sir it will help us a lot❤️. In addition Sir it will update the system in real-time
@qditor2591
@qditor2591 3 ай бұрын
At 5:27 was it command prompt you used?
@eduardo9626
@eduardo9626 Жыл бұрын
I really like your tutorials, do you have something like this tutorial for yoloV8?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey thanks! I don't, I may make a quick video about a license plate detector with Yolov8 soon. 🙌
@Nevergnnanoe
@Nevergnnanoe Жыл бұрын
Hi thanks for the wonderful tutorial. I’m having a problem so I’m working on a MacBook with the M1 Max chip 10:24 I’m having a problem with this for loop, it’s not iterating over the images. When I run the code it only output one image then when I close the window the program stops. I checked if it’s reading all the images in the input_dir list using print, it is but for some reason it’s not showing all the images. Please can you help me out?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, the program stops and do you get any error?
@Nevergnnanoe
@Nevergnnanoe Жыл бұрын
@@ComputerVisionEngineer no error, as soon as I close the window with the image the program terminates happens in vscode and pycharm
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
It is probably a bug in your code. Would you please paste your code here?
@Najmiddin0
@Najmiddin0 Жыл бұрын
Thanks for this video. I have some questions. Can this program find license plates of cars in other countries like uz? I ran this code. All the images in the data folder are working fine, but when I add images to the data folder, the program can't find the new image number. What kind of images should I upload and how can I fix this program to find the number of blurry images? Please help.
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, it doesn't find the license plate of any image with uz license plates? do you have an example of an image with uz plates so I test it too?
@Najmiddin0
@Najmiddin0 Жыл бұрын
@@ComputerVisionEngineer I tried using uz numbers but the program is basically giving wrong outputs.
@Renagade01
@Renagade01 11 ай бұрын
hello thanks for the vid i just wanna sak if the bounding box is defaultly thick?
@ComputerVisionEngineer
@ComputerVisionEngineer 11 ай бұрын
Hey, you can adjust the width with one of its parameters. 🙌
@Renagade01
@Renagade01 11 ай бұрын
@@ComputerVisionEngineer thanks ! and yeah just wanna say when i tried it in other countries licsense plate the result is funny xD sometimes it reads the year sometimes none sometimes it skips the images for my declared img_dir but when i tried for european license plate it kinda works xD anyways will try again thank you!
@chinkhu4405
@chinkhu4405 Жыл бұрын
It was amazingly clear. But is it possible to use video?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
It is possible to use it in a video. License plates need to be frontal, so the perspective of the video is important, but it is definitely possible! 😃💪
@samuelattaantwi3953
@samuelattaantwi3953 Жыл бұрын
Thank you very much for this wonderful tutorial💯. Please, I have downloaded all libraries, but I still get an error when executing Traceback (most recent call last): line 3, in import cv2 line 181, in bootstrap() line 175, in bootstrap if __load_extra_py_code_for_module("cv2", submodule, DEBUG): line 28, in __load_extra_py_code_for_module py_module = importlib.import_module(module_name) line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) line 290, in cv2.gapi.wip.GStreamerPipeline = cv.gapi_wip_gst_GStreamerPipeline AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circular import) For line 3, I have imported cv2 Please help me
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Samuel, are you working on a virtual environment? Did you pip install the requirements.txt file?
@sungjaepark7751
@sungjaepark7751 10 ай бұрын
I follow all the steps but when I try to run the code it says "NameError : name "license_plate" is not defined can you tell me why it says this error ?
@vitaminCjuice2064
@vitaminCjuice2064 Жыл бұрын
Greetings sir, how do i put on the detected license plate text into the images based on your tutorial. (which I'm stucked on it) Kindly need your further guidance.
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, in order to put the text on top of the images I suggest you to look into OpenCV putText() function! 😃
@saswatikpanja1071
@saswatikpanja1071 10 ай бұрын
Great video man! I was getting an error with running the code, which says ModuleNotFoundError: No module named 'util'. How can this be resolved? Thank you
@ComputerVisionEngineer
@ComputerVisionEngineer 10 ай бұрын
Try to execute the file from the same directory where the files are located. 🙌
@danielchembesi4491
@danielchembesi4491 Жыл бұрын
Thank you for such a helpful and clear tutorial. I have one problem that is the model.weights file which is missing after cloning the project. i think it's the one which is causing the following error: line 28, in net = cv2.dnn.readNetFromDarknet(model_cfg_path, model_weights_path) cv2.error: OpenCV(4.5.4) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\darknet\darknet_importer.cpp:214: error: (-212:Parsing error) Failed to parse NetParameter file: .\model\weights\model.weights in function 'cv::dnn::dnn4_v20211004::readNetFromDarknet'
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Daniel, you can download the weights for the license plate detector here: drive.google.com/drive/folders/1STio9AvOODRUdLEI0lX2vh1NS0GDeUm5?usp=share_link 😃🙌
@dirandevaiah1892
@dirandevaiah1892 Жыл бұрын
@@ComputerVisionEngineer same error sir
@amaanusmani1017
@amaanusmani1017 Жыл бұрын
Hey, I was following your video step by step and i encountered an error on the timestamp 18:00 Code : reader = easyocr.Reader(['en']) Error : UnicodeEncodeError: 'charmap' codec can't encode character '\u2588' in position 12: character maps to I checked online for this error and most of the problems were solved by changing the python's default encoding to UTF-8, however mine is already set to that. Any suggestions ?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
I see the same suggestion in easyocr issues (export PYTHONIOENCODING=utf-8). Are you working on a virtual environment? Are you 100% sure you are executing the same python which encoding is set to UTF-8? What is your OS? In Windows, according to Python docs PYTHONIOENCODING 'is ignored for interactive console buffers' (not sure what this means) unless PYTHONLEGACYWINDOWSSTDIO is also specified.
@mihovilkovacevic4019
@mihovilkovacevic4019 Жыл бұрын
After trying your code I can say YOLOv3 has a lot more accuracy than MobileNet-SSD V2. Any reasons why you didn't use newer version of YOLO?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
No reason, it's just I like classics. 😄😌
@mihovilkovacevic4019
@mihovilkovacevic4019 Жыл бұрын
@@ComputerVisionEngineer Amazing brother, thank you for the great content that's actually working, not like the others where they explain for 2 hours and then their detection accuracy is like 30% lol. Looking forward to learn more how these algorithms work in-depth so I can create cool stuff like you.
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
😃💪💪
@Ak-um1yg
@Ak-um1yg Жыл бұрын
Hey can u make a project of Number Plate extraction If biker is not wearing a helmet Yolo and easy ocr will do
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Sounds like a cool project! I will definitely keep it in mind next time I plan my future videos! 😃💪
@Ak-um1yg
@Ak-um1yg Жыл бұрын
@@ComputerVisionEngineer I am eagerly waiting for it .. Your channel content is awesome . i have subscribed ✅👍
@tsaashik8048
@tsaashik8048 Жыл бұрын
Okay 😅..for custom training licence plate using yolov8 how many pictures would be sufficient 😅
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Try with 1000 images to start with. 💪💪
@arvapallyshashidhar3009
@arvapallyshashidhar3009 11 ай бұрын
Hello sir, please help me in fixing this error . I tried to fix it by own but i failed. i am getting the following error in between of execution and it i am getting this error after execution of particular image. H, W, _ = img.shape AttributeError: 'NoneType' object has no attribute 'shape' And thanks for the video
@Mr01Daryl
@Mr01Daryl 8 ай бұрын
model/wieghts missing
@tsaashik8048
@tsaashik8048 Жыл бұрын
sir for recognising multi language licesnce plates how should i custom train the OCR 😅😅coz few languages are not there
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, take a look at some tutorials on how to retrain easyocr on a custom dataset. If you have challenges retraining an easyocr model you may want to consider moving to a diferent ocr technology as tesseract or paddleocr. 🙌
@tsaashik8048
@tsaashik8048 Жыл бұрын
@@ComputerVisionEngineer thank you
@jiahmingchoong9089
@jiahmingchoong9089 Жыл бұрын
Hi, may I know how can I train my image dataset using your source code?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, in this video I show you how to do automatic license plate recognition, although it is only the inference, it is not training.
@rishabhsrinivasan5664
@rishabhsrinivasan5664 Жыл бұрын
Hello Sir, I had got this issue can u plz help me to solve it Traceback (most recent call last): File "yolov3-from-opencv-object-detection\main.py", line 18, in with open(class_names_path, 'r') as f: FileNotFoundError: [Errno 2] No such file or directory: '.\\model\\class.names'
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Rishab, change the file location to the absolute path, that should fix it. 🙌
@rishabhsrinivasan5664
@rishabhsrinivasan5664 Жыл бұрын
@@ComputerVisionEngineer Sir it Worked Thank you soo Much for ur Help!!
@dawidziach1597
@dawidziach1597 11 ай бұрын
Where can i download weights?
@user-jw8zl9rs9p
@user-jw8zl9rs9p Жыл бұрын
sir program is giving img.shap error error when i try it on other plates than given in data folder
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, make sure the path to the image is set correctly.
@airamaesumile5726
@airamaesumile5726 Жыл бұрын
What version of pycharm you are using?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Pycharm community edition 💪
@SmarTechZ
@SmarTechZ 10 ай бұрын
Its possible to edit this script to capture video from ip RSTP camera y read te car plate number?
@ComputerVisionEngineer
@ComputerVisionEngineer 10 ай бұрын
Yes, it is possible to edit the script in order to achieve the desired functionality. 🙌
@YouSerious98
@YouSerious98 Жыл бұрын
Great Video! I am getting an easyorc error where it says it depends on torch. I tried all sorts of sources but cant get it to work. There a good way to fix this error? thanks!
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Daniel, what error do you get?
@YouSerious98
@YouSerious98 Жыл бұрын
@@ComputerVisionEngineer Hey I was able to fix it! I needed to make the conda interpreter. Thanks again for the vid! I do have one issue, I am trying multiple USA license plates but 1 out of like 10 seem to create bounding boxes for them. When it doesn't work, it shows the most recent found plates bounding box. Any thing I need to look into?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
@@YouSerious98 Ok I see why. Add an if before the rectangle drawing of line 85. if len(bboxes) > 0: cv2.rectangle(....)
@YouSerious98
@YouSerious98 Жыл бұрын
@@ComputerVisionEngineer Thanks, I will try that. The main thing is that I use many USA license plate images, and only a few images are being detected. Is that an issue with the model itself? (Sorry for all the questions)
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
@@YouSerious98 Maybe you could try with another model. Something like yolov8 would perform better if you use a big enough dataset. There are a few datasets for license plate detection available online, you could try to train a yolov8 model with them and see how it performs on your data. 🙌
@Kuba9232838283
@Kuba9232838283 Жыл бұрын
hello, which version of python do you use?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, I use Python 3.8.
@hilmeroudijk5991
@hilmeroudijk5991 Жыл бұрын
would this work on a raspberry pi, with raspberry OS?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
If you manage to install Easyocr and OpenCV, yes it would work! 💪
@nakishahawkin797
@nakishahawkin797 Жыл бұрын
Hello sir i did this system and i add my web cam but i cant use license_platr ,license_plate_thresh ,license_plate_gray and my gpu i try reader = easyocr.Reader(["en"],bool= True)but its not work .
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Nakisha, please copy paste your code here and the error you are getting and I will try to help you. 🙌
@nakishahawkin797
@nakishahawkin797 Жыл бұрын
@@ComputerVisionEngineer import os import cv2 import numpy as np import matplotlib.pyplot as plt import easyocr import util # define constants model_cfg_path = os.path.join('.', 'model', 'cfg', 'darknet-yolov3.cfg') model_weights_path = os.path.join('.', 'model', 'weights', 'model.weights') class_names_path = os.path.join('.', 'model', 'class.names') cap = cv2.VideoCapture(0) while True: # load class names ret,frame = cap.read() with open(class_names_path, 'r') as f: class_names = [j[:-1] for j in f.readlines() if len(j) > 2] f.close() # load model net = cv2.dnn.readNetFromDarknet(model_cfg_path, model_weights_path) # load image #Sometimes I get an error from the code below, do you know why? H,W,_= frame.shape # convert image blob = cv2.dnn.blobFromImage(frame, 1 / 255, (416, 416), (0, 0, 0), True) # get detections net.setInput(blob) detections = util.get_outputs(net) # bboxes, class_ids, confidences bboxes = [] class_ids = [] scores = [] for detection in detections: # [x1, x2, x3, x4, x5, x6, ..., x85] bbox = detection[:4] xc, yc, w, h = bbox bbox = [int(xc * W), int(yc * H), int(w * W), int(h * H)] bbox_confidence = detection[4] class_id = np.argmax(detection[5:]) score = np.amax(detection[5:]) bboxes.append(bbox) class_ids.append(class_id) scores.append(score) # apply nms bboxes, class_ids, scores = util.NMS(bboxes, class_ids, scores) # plot reader = easyocr.Reader(['en']) #bool = True / ? why isnt open for bbox_, bbox in enumerate(bboxes): xc, yc, w, h = bbox cv2.putText(frame, class_names[class_ids[bbox_]], (int(xc - (w / 2)), int(yc + (h / 2) - 0)), cv2.FONT_HERSHEY_SIMPLEX, 0, (0, 0, 0), 0) #license_plate = img[int(yc - (h / 2)):int(yc + (h / 2)):, int(xc - (w / 2)): int(xc + (w / 2)), :].copy() img = cv2.rectangle(frame, (int(xc - (w / 2)), int(yc - (h / 2))), (int(xc + (w / 2)), int(yc + (h / 2))), (0, 255, 0), 10) #license_plate = img[int(yc - (h / 2)):int(yc + (h / 2)):, int(xc - (w / 2)): int(xc + (w / 2)), :].copy() #license_plate_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #license_plate_thresh = cv2.threshold(license_plate_gray, 64,255, cv2.THRESH_BİNARY) output = reader.readtext(frame) for out in output: text_bbox, text, text_score = out print(text) cv2.imshow('img', frame) #cv2.imshow('asd1', license_plate) cv2.waitKey(25) if cv2.waitKey(25) & 0xFF == ord("q"): break cap.release()
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
At a glance nothing seems to be wrong with your code. I recommend you to take things incrementally. Try to execute one line of the code at the time until you identify the error. Also, the error message you will see in the terminal will give you a lot of valuable information regarding the cause of the error.
@nakishahawkin797
@nakishahawkin797 Жыл бұрын
@@ComputerVisionEngineer sir i take this error NameError: name 'license_plate' is not defined and ı dont use my gpu pls help me
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
The best advice I can give you is to take the project one step at the time. Start the project from scratch, type one line of code at the time and execute the script right after you type each line. This will give you a better insight on what is going on in your code.
@RisabTajale
@RisabTajale Жыл бұрын
Can we implement train split on CNN algorithm too?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Risab! Sure, I will keep that in mind for a future video! 💪🙌
@kavimourthy3679
@kavimourthy3679 Жыл бұрын
What's the issue of only shows one figure when i put for loop image
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Kavi, so you are executing the code as it is in the repository and you only visualize one figure? Which one?
@kavimourthy3679
@kavimourthy3679 Жыл бұрын
@@ComputerVisionEngineer 10:9 to 11:09 I'm struggling
@arifemreyaman2150
@arifemreyaman2150 Жыл бұрын
hello sir you CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU. do you know the error
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Arif, I am not sure what is the error. You may take a look at easyocr official repository in case someone else has reported the same issue. 🙌
@femiomolacholawrencetoudon3908
@femiomolacholawrencetoudon3908 9 ай бұрын
hey sir your code source d ont work
@tsaashik8048
@tsaashik8048 Жыл бұрын
the yolo used here is v8 or v3?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
In this video I used yolov3.
@prajjwalrajtomar1225
@prajjwalrajtomar1225 11 ай бұрын
The code is showing an error, the error is arrising model_weights_path, can anyone help?
@IsfhanAhmed
@IsfhanAhmed Жыл бұрын
Can you create a course where we can learn ho to solve real world problem using computer vision
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
That sounds like a very interesting course to create!! 😃😃 Thanks for your suggestion, Isfhan! I will definitely create content around that idea. Stay tuned! 😃🙌
@prajwalm.s7976
@prajwalm.s7976 Жыл бұрын
Sir I tried this project, but it's not working for bike number plates What to do
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Oh, I see. What part is not working? The license plate detection or the license reader?
@prajwalm.s7976
@prajwalm.s7976 Жыл бұрын
@@ComputerVisionEngineer as soon as I put some custom images, it shows invalid class name(License Plate)
@prajwalm.s7976
@prajwalm.s7976 Жыл бұрын
@@ComputerVisionEngineer I'm actually doing helmet detection project and licence plate extraction of bikers not wearing helmet. Can you please help?
@vamsiyeruva9594
@vamsiyeruva9594 Жыл бұрын
a very good video sir , I have encountered with a error while installing easyocr ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,=3.7,=3.7,=3.7,=3.7,
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Try removing the package versions in the requirements file. pip will figure out the versions on itself.
@m3forengineers877
@m3forengineers877 Жыл бұрын
Can we detect any symbolic number
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Do you mean if you can read any symbolic number? You should be able to read any symbol. Try to use a language which contains that symbol. Let me know how it goes! 🙌
@iamipyana
@iamipyana Жыл бұрын
he is very well understood, how can i connect with you?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Ipyana, thank you! You can connect with me through the comments section in my videos and through our discord. 🙌
@iamipyana
@iamipyana Жыл бұрын
@@ComputerVisionEngineer do you have on how to create modal and train according to my data?
@iamipyana
@iamipyana Жыл бұрын
@@ComputerVisionEngineer also using live in camera instead of image
@christianurs
@christianurs Жыл бұрын
Hi guys, I've install the easyocr 1.6.2 but still got thie error: ModuleNotFoundError: No module named 'easyocr' . Can anyone help? Thanks
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Christian, are you executing the script in the same virtual environment where you installed easyocr?
@christianurs
@christianurs Жыл бұрын
@@ComputerVisionEngineer sorry, my mistake. It’s working now. I do get another warning when running: CUDA not available- defaulting to CPU. I need to mention that I have a MacBook Pro M1. Thanks
@abdallawanjusi
@abdallawanjusi Жыл бұрын
@@christianurs how did you fix this error
@christianurs
@christianurs Жыл бұрын
@@abdallawanjusi It's been a while but if I remember well, I restarted the virtual env and properly install all requirements. Hope this helps
@raymondmichael4987
@raymondmichael4987 Жыл бұрын
How can we detect & read plate from a webcam in real time
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Raymond, you could adapt this current pipeline to take frames from a webcam instead of individual images. 🙌
@arifemreyaman2150
@arifemreyaman2150 Жыл бұрын
Hello Sir,again me pls dont hate me 😶 ,i did it in a way to take it from the video, but the camera only takes 1 image and i need to turn it off and on, do you know how i can edit it?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Arif, would you please copy paste your code here?
@arifemreyaman2150
@arifemreyaman2150 Жыл бұрын
@@ComputerVisionEngineer import os import cv2 import numpy as np import matplotlib.pyplot as plt import util # define constants model_cfg_path = os.path.join('.', 'model', 'cfg', 'darknet-yolov3.cfg') model_weights_path = os.path.join('.', 'model', 'weights', 'model.weights') class_names_path = os.path.join('.', 'model', 'class.names') img_path = cv2.VideoCapture(0) while True: # load class names ret,img = img_path.read() with open(class_names_path, 'r') as f: class_names = [j[:-1] for j in f.readlines() if len(j) > 2] f.close() # load model net = cv2.dnn.readNetFromDarknet(model_cfg_path, model_weights_path) # load image H, W, _ = img.shape # convert image blob = cv2.dnn.blobFromImage(img, 1 / 255, (416, 416), (0, 0, 0), True) # get detections net.setInput(blob) detections = util.get_outputs(net) # bboxes, class_ids, confidences bboxes = [] class_ids = [] scores = [] for detection in detections: # [x1, x2, x3, x4, x5, x6, ..., x85] bbox = detection[:4] xc, yc, w, h = bbox bbox = [int(xc * W), int(yc * H), int(w * W), int(h * H)] bbox_confidence = detection[4] class_id = np.argmax(detection[5:]) score = np.amax(detection[5:]) bboxes.append(bbox) class_ids.append(class_id) scores.append(score) # apply nms bboxes, class_ids, scores = util.NMS(bboxes, class_ids, scores) # plot for bbox_, bbox in enumerate(bboxes): xc, yc, w, h = bbox cv2.putText(img, class_names[class_ids[bbox_]], (int(xc - (w / 2)), int(yc + (h / 2) - 0)), cv2.FONT_HERSHEY_SIMPLEX, 0, (0, 0, 0), 0) img = cv2.rectangle(img, (int(xc - (w / 2)), int(yc - (h / 2))), (int(xc + (w / 2)), int(yc + (h / 2))), (0, 255, 0), 10) plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.show()
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
If you are looking to visualize the entire stream from your webcam I would suggest to use cv2.imshow instead of matplotlib as visualization. So remove the last two lines (plt.imshow and plt.show) and add: cv2.imshow('img', img) cv2.waitKey(25)
@arifemreyaman2150
@arifemreyaman2150 Жыл бұрын
​@@ComputerVisionEngineer thank you very much sir
@marchef7291
@marchef7291 Жыл бұрын
hacelo en español papu si sos de la republica oriental del uruguay!!!!
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
😂 Tal vez haga un canal similar en español en el futuro! 🙌
@amaica01
@amaica01 Жыл бұрын
how do this in video?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
In order to do it in a video you would have to apply the same process to all the frames of a video. You could take a look at my tutorial on face anonymization, where I iterate in all the frames of a video and I apply the face anonymization process in each frame. It would be exactly the same idea but applying the license reader instead of the face anonymization. 😃💪
@ajibadeisaiah
@ajibadeisaiah Жыл бұрын
please i need your assistance on face recognition system
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Sure, tell me, how can I assist you?
@ajibadeisaiah
@ajibadeisaiah Жыл бұрын
@@ComputerVisionEngineer please I need the window that is used for capturing new users to have more text labels instead of just username. And more also when the user is login, the successful login message box should come in more like another fresh window, welcoming the user to the system and showing all his details that has been captured in the registration process
@ajibadeisaiah
@ajibadeisaiah Жыл бұрын
I hope you understand what I meant. But if you have any platform we can connect to either have video calls with you
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
It sounds like some very nice new features! 😄💪 I will definitely keep it in mind in a future commit to this repository. I will make a video with an update about this project soon. Hopefully in the next couple of weeks. Stay tuned! 😃🙌🏻
@aRietD
@aRietD Жыл бұрын
I get way too many errors on this tutorial. file path not reading then Failed to parse NetParameter
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Ari, I would be super happy to help you solve those errors. Would you please describe exactly what is the first error you get and what script / line are you getting it? Also, what is your OS and Python version? Are you working on a virtual environment?
@arifemreyaman2150
@arifemreyaman2150 Жыл бұрын
hi sir again me how can ı use gpu in this code
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Have you tried with easyocr.Reader(['en'], gpu=True)?
@arifemreyaman2150
@arifemreyaman2150 Жыл бұрын
@@ComputerVisionEngineer yes i tried but not work and itake this error TypeError: __init__() got an unexpected keyword argument 'GPU' i tried lower casse but its not work
@m3forengineers877
@m3forengineers877 Жыл бұрын
Can we detect plate number which is written in any language
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
In theory, yes. You can select any language when creating your easyocr reader. 💪
@nakishahawkin797
@nakishahawkin797 Жыл бұрын
hi sir my comments is not showing
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Nakisha, let me check the 'held for review' section of the comments. Sometimes KZbin flags comments for whatever reason. Let me check.
@jeanmi8184
@jeanmi8184 Жыл бұрын
Code: empty
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
😅 Thank you so much for the heads up! The github repository for this tutorial was added in the description! 😃💪
@milesonme
@milesonme Жыл бұрын
Mate, you have no idea helpful these videos are to us....trying to get started in this industry....I've taken courses on ML,DL, Node.js, Flask, Streamlit, MLOps,NLP and so on. I read and implement Computer vision papers every day....I would like to ask, on average, or roughly, how many papers did u have to read to feel like an actual expert in Computer Vision?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
😊 Hey! I am glad you find my videos useful! How many papers... mmm.... 🤔 when it comes to 'expertise' I would say the number of projects you work in is more important than the number of papers you read. Not sure how many projects I have been involved in so far, but they are many for sure! 💪💪
@tsaashik8048
@tsaashik8048 Жыл бұрын
But yolov3 is a bit outdated right 😅... Where can I find yolov8 which was pre trained for license plate detection... I'm doing project for my college 🥲..they said yolo v3 is outdated
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Yeah, agreed, yolov3 is not the most recent version. Although I did notice a very good performance using this model. Yolov3 may be old but it is a very robust object detector. 💪 Try to find a yolov8 model on github, or... train your own model following the steps I describe in my video on how to train yolov8 on a custom dataset! 😃
@MichaBroda
@MichaBroda Жыл бұрын
Hello Boss, I have problem with NNPACK. When I try reading plate, I get answer: [W NNPACK.cpp:53] "Could not initialize NNPACK! Reason: Unsupported hardware." I heard that I must use cmake USE_NNPACK=0. Pycharm have option cmake?
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey, if you need to build PyTorch from source without NNPACK I don't think you can do it in Pycharm. You can find instructions on how to build it from source on PyTorch official repository. 😃💪
@okwarebrian1838
@okwarebrian1838 Жыл бұрын
Hello how can I contact you
@ComputerVisionEngineer
@ComputerVisionEngineer Жыл бұрын
Hey Okware, Currently, leaving a comment in a KZbin video is the best way to reach out to me. How can I help you? 🙂
@kenatsharaby
@kenatsharaby 11 ай бұрын
Hi Felipe. I am very impresed from your knowledge and would like to potentialy hire your service for a AI project we develop. Please contact me. Thanks!
@ComputerVisionEngineer
@ComputerVisionEngineer 11 ай бұрын
Hey Giyora, thank you!! Glad you enjoyed the content! 😃💪💪
Automatic number plate recognition (ANPR) with Yolov9 and EasyOCR
11:38
License plate detector with Python and yolov3 | Computer vision tutorial
9:45
Computer vision engineer
Рет қаралды 8 М.
Godzilla Attacks Brawl Stars!!!
00:39
Brawl Stars
Рет қаралды 10 МЛН
Trágico final :(
01:00
Juan De Dios Pantoja
Рет қаралды 20 МЛН
Automate your job with Python
6:07
John Watson Rooney
Рет қаралды 300 М.
The Truth About Learning Python in 2024
9:38
Internet Made Coder
Рет қаралды 89 М.
Python OCR: Read Invoices - Pytesseract, EasyOCR, Keras OCR
7:10
Python ML Daily
Рет қаралды 3,5 М.
Face recognition + liveness detection: Face attendance system
29:33
Computer vision engineer
Рет қаралды 101 М.
How I would learn to code (if I could start over)
10:52
PIRATE KING
Рет қаралды 1,2 МЛН
INSANE OpenAI News: GPT-4o and your own AI partner
28:48
AI Search
Рет қаралды 202 М.
OpenAI SHOCKED Everyone! Voice, Vision, & Free?!
8:58
Theoretically Media
Рет қаралды 42 М.