C++利用opencv进行OCR Win10-x64+VS2015
原理
OCR的应用非常广泛,在工业上,常常用于印刷体的识别,例如印刷数字的识别。对于这种问题,我们的做法是先去采集工业场景下大批量的图像数据,分割为单个字体区域,绑定对应的标签,制作印刷字体的训练集。再使用机器学习或者神经网络对数据集进行训练,在得到一个准确率高的模型后,再使用模型去分类待测的字体区域图片。
步骤
制作数据集
简单演示,这里我直接用word文档输入数字截图作为我采集的图像
如下为train.png
test.png
第一步:二值化
cv::Mat gray = cv::imread("E:\\DataSet\\OCR\\train\\1.png", 0);
cv::Mat thresh;
cv::threshold(gray, thresh, 100, 255, cv::THRESH_BINARY_INV);