参考教程:MATLAB深度学习之手写数字识别_哔哩哔哩_bilibili
第一步:准备需要训练的图像数据
这些图像最好包括多种字体样式、不同粗细程度、不同残缺程度的英文和数字字符。
第二步:将带训练图片导入MATLAB中的OCR Trainer中
第三步:调整参数使其分割效果更好
第四步:开始添加字符标签
由于character label中仅能输入单个非中文字符,所以matlab的ocr trainer仅能训练数字和字母模型进行识别。
按enter键标注下一个字符的标签
对于分割出来的这种部分,双击该部分
重新进行分割调整
再继续进行标注
第五步:将所有字符标注完成后,进行训练
训练成功后,点击生成函数。
第六步:在主文件代码中进行识别
可以直接将刚才生成的函数打开,选择某个example的代码复制到主代码中修改需识别的路径信息即可完成识别。
ps:
识别英文字符和识别文字最好分成两个模型进行训练,这是由于英文字母o与数字0、英文字母l或i与数字1等字符形态上比较相似。
同样,该识别方法还可以与imcrop函数和app designer控件结合起来使用,例如:
% Button pushed function: Button_Extracttext_2english
function Button_Extracttext_2englishPushed(app, event)
I = app.Temp_Img;
[J,~]=imcrop(I);
[ocrI,results]=evaluateOCRTraining3(J);
delete(gcf);
app.EditField_text_2.Value=results.Text;
msgbox("英文提取成功","关于",'warn');
end