MXNet之CNN:自定义CNN-OCR算法训练车牌数据集(umpy.ndarray格式数据)实现车牌照片字符识别并评估模型

本文涉及的产品
个人证照识别,个人证照识别 200次/月
票据凭证识别,票据凭证识别 200次/月
教育场景识别,教育场景识别 200次/月
简介: MXNet之CNN:自定义CNN-OCR算法训练车牌数据集(umpy.ndarray格式数据)实现车牌照片字符识别并评估模型

输出结果


gen_sample之后

image.png

image.pngimage.png




1、训练感悟


22:58训练记录:我勒个去,跑了半天,准确度还没上来,啊啊啊,要疯了……



相关文章:

生成图片,CV:设计自动生成汽车车牌图片算法(cv2+PIL)根据指定七个字符自动生成逼真车牌图片数据集(带各种噪声效果)

MXNet之CNN:自定义CNN-OCR算法训练车牌数据集(umpy.ndarray格式数据)实现车牌照片字符识别并评估模型



设计思路


第一次


image.png


第二次


image.png




总思路


image.png

核心代码

class GenPlate:

   def __init__(self,fontCh,fontEng,NoPlates):

       self.fontC =  ImageFont.truetype(fontCh,43,0);

       self.fontE =  ImageFont.truetype(fontEng,60,0);

       self.img=np.array(Image.new("RGB", (226,70),(255,255,255)))

……

   def draw(self,val):

       offset= 2 ;

       self.img[0:70,offset+8:offset+8+23]= GenCh(self.fontC,val[0]);    

……

       return self.img

 

   def generate(self,text):                             #generate()方法,

#         print('text', text, len(text))

       if len(text) == 7:    # 9

#             print('开始运行if语句')

           fg = self.draw(text);  

……

     

   def genPlateString(self,pos,val):  #定义genPlateString函数

……

       for unit,cpos in zip(box,range(len(box))):

           if unit == 1:

               plateStr += val

           else:

               if cpos == 0:

                   plateStr += chars[r(31)]

               elif cpos == 1:

                   plateStr += chars[41+r(24)]

               else:

                   plateStr += chars[31 + r(34)]

       return plateStr;

   def genBatch(self, batchSize,pos,charRange, outputPath,size):

       if (not os.path.exists(outputPath)):

           os.mkdir(outputPath)

       l_plateStr = []

       l_plateImg = []

       for i in range(batchSize):

           plateStr = G.genPlateString(-1,-1)

           img =  G.generate(plateStr);

           img = cv2.resize(img,size);

           l_plateStr.append(plateStr)

           l_plateImg.append(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

       return l_plateStr,l_plateImg


相关文章
|
10天前
|
存储 编解码 负载均衡
数据分片算法
【10月更文挑战第25天】不同的数据分片算法适用于不同的应用场景和数据特点,在实际应用中,需要根据具体的业务需求、数据分布情况、系统性能要求等因素综合考虑,选择合适的数据分片算法,以实现数据的高效存储、查询和处理。
|
10天前
|
存储 缓存 算法
分布式缓存有哪些常用的数据分片算法?
【10月更文挑战第25天】在实际应用中,需要根据具体的业务需求、数据特征以及系统的可扩展性要求等因素综合考虑,选择合适的数据分片算法,以实现分布式缓存的高效运行和数据的合理分布。
|
22天前
|
机器学习/深度学习 人工智能 算法
"拥抱AI规模化浪潮:从数据到算法,解锁未来无限可能,你准备好迎接这场技术革命了吗?"
【10月更文挑战第14天】本文探讨了AI规模化的重要性和挑战,涵盖数据、算法、算力和应用场景等方面。通过使用Python和TensorFlow的示例代码,展示了如何训练并应用一个基本的AI模型进行图像分类,强调了AI规模化在各行业的广泛应用前景。
27 5
|
14天前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
26 0
|
4月前
|
文字识别
印刷文字识别使用问题之是否支持非标发票的识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
存储 文字识别 运维
印刷文字识别使用问题之如何开通统一识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 容器
印刷文字识别使用问题之是否支持医疗检测报告识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
人工智能 文字识别 开发工具
印刷文字识别使用问题之是否支持识别并返回文字在图片中的位置信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
人工智能 JSON 文字识别
印刷文字识别使用问题之如何数电发票进行识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 数据安全/隐私保护 iOS开发
印刷文字识别使用问题之如何识别礼品册上的卡号、密码信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
下一篇
无影云桌面