Summer 2021 — Task 8
Task Description 📄
📌 In this task :
👉Create a model that will detect a car in a live stream or video and recognize characters on number plate of the car .
👉Secondly , it will use the characters and fetch the owners information using RTO API’s .
👉Create a Web portal where all this information will be displayed (using html,css,and js)
📌 Note : You may create your own detection model .
👉 Make a blog/article/video explaining this task step by step.
❄️ Submit the link of blog/article or video link
So here is my another blog on my task-8
Source code for Number Plate Detection System-
!pip install easyocr
!pip install imutilsimport cv2
from matplotlib import pyplot as plt
import numpy as np
import imutils
import easyocrimg = cv2.imread('car.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(cv2.cvtColor(gray, cv2.COLOR_BGR2RGB))bfilter = cv2.bilateralFilter(gray, 11, 17, 17) #Noise reduction
edged = cv2.Canny(bfilter, 30, 200) #Edge detection
plt.imshow(cv2.cvtColor(edged, cv2.COLOR_BGR2RGB))keypoints = cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contours = imutils.grab_contours(keypoints)
contours = sorted(contours, key=cv2.contourArea, reverse=True)[:10]location = None
for contour in contours:
approx = cv2.approxPolyDP(contour, 10, True)
if len(approx) == 4:
location = approx
breaklocationmask = np.zeros(gray.shape, np.uint8)
new_image = cv2.drawContours(mask, [location], 0,255, -1)
new_image = cv2.bitwise_and(img, img, mask=mask)plt.imshow(cv2.cvtColor(new_image, cv2.COLOR_BGR2RGB))(x,y) = np.where(mask==255)
(x1, y1) = (np.min(x), np.min(y))
(x2, y2) = (np.max(x), np.max(y))
cropped_image = gray[x1:x2+1, y1:y2+1]plt.imshow(cv2.cvtColor(cropped_image, cv2.COLOR_BGR2RGB))reader = easyocr.Reader(['en'])
result = reader.readtext(cropped_image)
resulttext = result[0][-2]
font = cv2.FONT_HERSHEY_SIMPLEX
res = cv2.putText(img, text=text, org=(approx[0][0][0], approx[1][0][1]+60), fontFace=font, fontScale=1, color=(0,255,0), thickness=2, lineType=cv2.LINE_AA)
res = cv2.rectangle(img, tuple(approx[0][0]), tuple(approx[2][0]), (0,255,0),3)
plt.imshow(cv2.cvtColor(res, cv2.COLOR_BGR2RGB))
Step-1
First of all Install and Import all the require directories


Step-2
Give the image name and now with the help of the image we will trace the Number plate


Step-3
So now we have got the location


Step-4
Now with the help of the reader function we will get the number plate


Step-5
Now finally the Number plate have been detected


Now we have finally got our Number plate in the form of text and now we will enter the Number plate initials on our web page we have made to get the required details …..
STEP-6
So now here is our web page where we have to enter the Number plate initials to get the Vehicle Information


So now when you will click on display , the detailed Vehicle information will be displayed
Hence now we have got the detailed vehicle information and our task-8 is successfully completed..