简单的车牌识别预处理小程序

通过PIL算法实现车牌识别的预处理工作,包括了灰度化,二值化,去噪点等。
PIL自带二值化的方法,不过效果不好,所以自己简单的写了一个。
from PIL import Image
from PIL import ImageFilter
import matplotlib.pyplot as plt
import numpy as np
#原始车牌
im = Image.open('C:/chepai.png')
#灰度化
im = im.convert('L')
im.save('C:/chepai1.png')
#PIL自带的二值化
img = im.convert('1')
img.save('C:/chepai2.png')
#自己写的二值化
pixload = im.load()
for x in range(im.size[0]):
    for y in range(im.size[1]):
        if pixload[x,y]<125:
            pixload[x,y] = 255
        else:
            pixload[x,y] = 0
#去掉车牌的上下的圆孔
im.save('C:/chepai3.png')
pixload2 = im.load()
print(im.size)
list =[]
for x in range(im.size[1]):
    count =0
    for y in range(im.size[0]):
        if pixload2[y,x]==0:
            count +=1
    if count<30:
        for y in range(im.size[0]):
            pixload2[y, x] =255
im.save('C:/chepai4.png')
效果图:

原始图像

灰度图
 
PIL二值化

本文的二值化图片

本文修整后的图片

你可能感兴趣的:(简单的车牌识别预处理小程序)