数字识别最基本的只能一个一个的识别,但是有时我们会拿到一连串的数字图片,这个时候就需要我们进行切分开数字再进行识别
我的思路是吧图片二值化处理,数字的1其他是0
(1)一般流水号图片如下
我们需要进行切分,吧每一个数字切出来,进行识别再拼接
1.读取图片,进行灰度化处理
img=Image.open("图片路径")
image=img.convert("L")
plt.imshow(image)
2.图片灰度化以后,图片的数值还是在0-255之间,我们现在要定义大于某一个数值变为0,小于则变为1,把图片二值化
但是大于什么数值是最好的呢,我就去思索数学公式,发现了一个很神奇的公式: mean()-std()
平均值加减标准偏差表示的是单测量标准偏差与随机误差态布曲线作标准描述其离散程度。
A的值在A+和A-之间表示的是这一组数据相对于平均值a的离散程度,标准差b是离散程度的判定指标。
def picture_tow_valued(image):
# 把图片转为numpy类型
image_np=np.array(image)
# 计算图片离散度
discretization=image_np.mean()-ima