通过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二值化
本文的二值化图片
本文修整后的图片
简单的车牌识别预处理小程序
最新推荐文章于 2024-07-03 16:45:21 发布