输出结果
gen_sample之后
1、训练感悟
22:58训练记录:我勒个去,跑了半天,准确度还没上来,啊啊啊,要疯了……
相关文章:
生成图片,CV:设计自动生成汽车车牌图片算法(cv2+PIL)根据指定七个字符自动生成逼真车牌图片数据集(带各种噪声效果)
MXNet之CNN:自定义CNN-OCR算法训练车牌数据集(umpy.ndarray格式数据)实现车牌照片字符识别并评估模型
设计思路
第一次
第二次
总思路
核心代码
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