Screenshot of my LPD results on a plate (type 1) Screenshot of my LPD results on a plate (type 1)

I'm doing License Plate Recognition but am hung up on the Plate Detection part as plates here have 2 different types of license plates.

This is the second type of license plate This is the second type of license plate

I can find individual plates by adjusting the width and height of the bounding rectangle but want to find a way to be able to detect both the types of license plates without having to change the values manually

I've done the equalized histogram/ binarization/ removed noise / dilated. I have tried using the rows and columns and ratio but doesn't seem to fit for all the plates. Just need help with detecting all the plates. The code below is what i have resorted to.

for (int j = 0; j < contours1.size(); j++) {
    BlobRect = boundingRect(contours1[j]);

    if (BlobRect.width > 150 || BlobRect.width < 80
           || BlobRect.height > 50 || BlobRect.height < 20)
        drawContours(Blob, contours1, j, black, -1, 8);
    else 
        plate = Grey(BlobRect);
}

For most plates this works, but for plates where the the numbers and letters are in two lines and not in one straight line, it doesn't work. Vice versa if i change the width and height.

0 Answers