油污导致ORC无法无法识别文字

简介: 5月更文挑战第15天

背景:我们是一家做铝件加工的,由于产品比较小3x15cm。我们在CNC设备上对铝件进行刻字(数字+字母)来记录铝件的厂商及批次号,还有CNC设备号。然后将产品放入AOI设备中去量测尺寸,通过OCR读取产品的数字将量测尺寸上传至数据库。使用户查询到每片物料都可以查询到量测尺寸。

问题点:当文字表面受到油污、水渍或其他污渍的影响时,OCR系统可能会因为图像质量的下降而无法准确识别字符。

解决方案:
1.图像预处理:
去污渍: 使用图像处理技术,如形态学操作(如膨胀和腐蚀)以及图像掩码技术来去除或淡化污渍。
增强对比度:通过直方图均衡化、自适应直方图均衡化或对比度增强技术来提高有污渍区域的对比度。
特征提取和字符分割:
2.局部二值化:对受污渍影响的区域进行局部二值化处理,以突出显示可能被油污覆盖的字符。
字符分割:使用图像分割技术将污渍和字符分离,确保只有字符区域被用于识别。
识别算法调整:
3.机器学习模型训练:在训练机器学习模型时,加入含有污渍的图像数据,以提高模型对污渍干扰的鲁棒性。
错误容忍:在识别过程中增加错误容忍度,允许一定程度的识别错误,以便在后期通过人工或其他机制进行校正。
后处理:
4.字符识别校正:利用自然语言处理技术,如拼写检查和语境分析,对识别结果进行校正。
人工干预:在自动识别不准确时,提供人工审核和修正的接口。
具体方案:
以Python编程语言和OpenCV图像处理库为例,具体方案可以包括以下步骤:

import cv2
import numpy as np

加载图像

image = cv2.imread('oil_stained_document.jpg')

转换为灰度图像

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

应用阈值处理以分割字符和污渍

_, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

使用形态学操作去除小污点

kernel = np.ones((2, 2), np.uint8)
cleaned = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel)

应用自适应阈值处理受污渍影响的区域

_, cleaned_adaptive = cv2.adaptiveThreshold(cleaned, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)

保存处理后的图像以供进一步识别

cv2.imwrite('cleaned_document.jpg', cleaned_adaptive)

对处理后的图像应用OCR识别

这一步通常需要结合Tesseract OCR引擎或其他OCR库来完成

在实施具体方案时,经过多次试验和调整参数,最适合处理特定污渍的预处理方法。考虑到实际应用中可能遇到的各种复杂情况,OCR系统不断优化算法以提高鲁棒性和准确性。

相关文章
|
12月前
|
机器学习/深度学习 异构计算 Python
raw格式照片一键改变风格
raw格式照片一键改变风格
61 0
|
3月前
|
编解码 定位技术
【工具分享】如何批量获取图片详细信息,如何把图片的属性信息包括文件路径、文件名、面积尺寸、创建日期、修改日期、水平垂直分辨率、文件大小等图片信息批量提取exel表格中
本文介绍了如何批量提取图片的属性数据到Excel,包括文件名、尺寸、面积、分辨率、GPS信息、创建和修改日期。适合需要处理大量图片信息的工作场景。支持批量导入图片,一键提取各项信息,并能直接导出为表格。
591 0
|
5月前
|
定位技术 Windows
ArcGIS中ArcMap图层属性表的中文字段乱码的解决方法
ArcGIS中ArcMap图层属性表的中文字段乱码的解决方法
643 1
|
Windows
ArcMap属性表汉字乱码的一种解决方法
本文介绍ArcMap软件打开图层的属性表后,出现字段中汉字乱码情况的解决方法~
300 1
ArcMap属性表汉字乱码的一种解决方法
将读取的文本内容转换为特定格式
将读取的文本内容转换为特定格式
117 0
thinkphp5 读取多行文本、读取文件分割多行文本
【代码】thinkphp5 读取多行文本、读取文件分割多行文本。
Photoshop - 无法完成请求,因为 JPEG 标志符段长度太短(该文件可能被截断或不完整)怎么办?
Photoshop - 无法完成请求,因为 JPEG 标志符段长度太短(该文件可能被截断或不完整)怎么办?
1240 0
Photoshop - 无法完成请求,因为 JPEG 标志符段长度太短(该文件可能被截断或不完整)怎么办?
|
Linux 数据安全/隐私保护 C语言
RGB源数据操作: 在图片上添加中文水印
RGB源数据操作: 在图片上添加中文水印
275 0
RGB源数据操作: 在图片上添加中文水印
tesseract-orc 合并识别结果
在实际使用 tesseract-orc 识别库的时候,初次制作的识别库很有可能识别率不太理想,需要后期慢慢补充 本文演示如何将多个修正过的box文件合并成一个识别库。 首先,需要图片样本.tif文件,位置文件.
1358 0