亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

中文車牌識別項目自建訓練數據

標簽:
Python

机器学习的核心是“使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测”。这意味着,与其显式地编写程序来执行某些任务,不如教计算机如何开发一个算法来完成任务。现在生活中我们所体验到的各大系统的智能推荐,它们可能比你还要了解你自己,这都要归功于机器学习了

机器学习的前提我们要给它投喂大量的数据,让它从中学习得出模型,这里以中文车牌识别项目来讨论。要正确识别车牌,要准备大量的车牌数据,但由于车牌信息的特殊性,涉及到隐私,这时要训练就需要手动准备车牌数据,下面通过Python来实现

一、实现思路

1.初始化车牌所用数据

2.使用random随机组织车牌数据

3.使用pygame生成车牌图片

二、代码实现

首先要了解车牌号码的组成规则,在我国车牌号码共7位,如“冀A2GJDW”,其中第一位为该车所在省的简称,第二位为该车所在地的地市一级代码,规律一般是这样的,A是省会,B是该省第二大城市,C是该省第三大城市,依此类推,后五位由数字或字母随机组成

根据车牌号码规则,初始化车牌所用数据:

number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

数据准备完成后,通过random模块随机选择数据进行组装

#随机生成车牌组合
def random_platen():
    platennumber = []
    platennumber.append(random.choice(city))  # 随机选择省的简称
    platennumber.append(random.choice(alphabet))  # 随机选择所在地的地市一级代码
for i in range(2, 7):
        n = random.choice(number+alphabet)  # 后5位随机数字或字母
        platennumber.append(n)
    str = ''.join(platennumber)  # 拼接成字符串
return str

通过自定义的random_platen函数,可以随机得到一个车牌号码,这时可以定义变量来指定生成的样本数量以及最终生成的车牌图片保存路径

size = 1000  # 生成车牌数量

上面准备完后,接下来就可以开始生成图片了,这里生成图片用到了pygame模块,由于我们生成的车牌中包含中文,所以在生成时,注意指定字体(关于字体可以在系统字体中进行选取)。为了便于后期训练时比对结果,这里在生成图片的同时,创建一个文本文件,用于保存所生成的车牌数据

# 生成车牌图片
pygame.image.save(font,os.path.join(platepath,(platennumber+".jpg")).encode('gb2312'))
# 生成车牌号文本
with open(label_filename, "a") as f:
        f.writelines(label + ' ')

这时执行Python文件后,就可以看到生成后的车牌数据了

想要获取完整代码,戳[https://github.com/yanwydxf/create-plate-number]

點擊查看更多內容
93人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消