2021SC@SDUSC
这一次将会分析recognizeOne函数
def recognizeOne(self,src):
x_tempx = src
x_temp = cv2.resize(x_tempx,( 164,48))
x_temp = x_temp.transpose(1, 0, 2)
y_pred = self.modelSeqRec.predict(np.array([x_temp]))
y_pred = y_pred[:,2:,:]
return self.fastdecode(y_pred)
recognizeOne函数的功能就是对车牌上的文字进行识别。在经历了前两个函数依次粗定位、精定位和裁剪之后,已经得到了比较精确的车牌图片,图片上只有车牌,不包含其他内容。recognizeOne输入的就是裁剪过的车牌照片,输出的是车牌上的文字。
首先resize图片的大小,接下来调用了transpose函数,这个函数的作用是交换矩阵/图片的不同维度,比如x.transpose((1,0)) 表示交换 ‘0轴’ 和 ‘1轴’。
接下来就是对车牌上的文字进行猜测,可以看到,recognizeOne函数中调用的是modelSeqRec.predict函数进行预测,modelSeqRec函数如下:
def model_seq_rec(self,model_path):
width, height, n_len, n_class = 164, 48, 7, len(chars)+ 1
rnn_size = 256
input_tensor = Input((164, 48, 3))