License Plate Detection & Segmentation

Abhishek Gupta
Sep 3, 2018 · 2 min read
Segmented characters of License plate

step 1 Convert the image into gray color and take DWT transform of gray colored image

step 2 Use sobel edge detcetion of vertical component of DWT transformed image

step 3 apply imclose, imopen morphological operations with strcutural co-efficient like

se=strel('rectangle',[20,30]);
eroded=imdilate(edgy,se);
eroded=imclose(edgy,se);
se=strel('disk',10);
eroded=imopen(eroded,se);

step 4 Use bounding box method to extract all possible bounding boxes and below condition to select the bounding box of license plate only

dim(jj)=BB(jj).BoundingBox(3)/BB(jj).BoundingBox(4);
if dim(jj)>4
--
end

BoundingBox(3)= height BoundingBox(4)= width

Detected License plate

step5 crop the detected license plate and apply morphological operations again to extract the characters in license plate.

Step 5.1 Enhance the image edges by gradient enhancement operation

g=rgb2gray(cropedimg);              % Converting the RGB (color) image to gray (intensity).
g=medfilt2(g,[3 3]); % Median filtering to remove noise.
se=strel('disk',1); % Structural element (disk of radius 1) for morphological processing.
gi=imdilate(g,se); % Dilating the gray image with the structural element.
ge=imerode(g,se); % Eroding the gray image with structural element.
gdiff=imsubtract(gi,ge); % Morphological Gradient for edges enhancement.

Step 5.2 Eliminate the license plate edges and removing pixels area with more than 100 pixels results in segmented characters.

For complete code please visit https://free-thesis.com/product/license-plate-detection-segmentation/