- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从身份证图像中提取某些类型的文本:
如您所见,它们具有各种照明和清晰度条件。最终目标是识别黑色文字。如果它们分开的很好,那么我可以使用Tesseract OCR很好地做到这一点(顺便说一下,这是VIE语言,以防您想与Tesseract一起尝试)。但是,在上述示例中,黑色文本和蓝色文本重叠,这使Tesseract感到困惑。因此,我目前的目标是干净地去除它们,而不会严重扭曲黑色模糊像素,以使Tesseract仍然有效。
最有效的方法是什么? (如果可能,请使用Python中的代码示例。)
最佳答案
您可以尝试使用颜色进行图像分割。如果像素的颜色在接近(0,0,0)的RGB区域中,则该像素很可能是相关黑色文本的一部分。
另一种方法是检查每个像素的Chrominance分量。假定黑色文本的色度较低,并且这是图片的相关部分。
这个想法是找出图像中可能出现相关文本候选者的部分,然后将不相关的部分涂掉。
然而,这些是快速且肮脏的解决方案,当在不同的照明情况下对ID卡进行拍摄,它们是否已损坏,或者用于捕获照片的设备具有广泛的相机时,它们都很难解决。或身份证类型略有不同。我们已经在这个问题上做了很多工作,特别是在ID文档上。最终,我们的解决方案是对大量生成的图像使用机器学习,并训练ML模型以仅从ID卡中返回相关文本。它需要大量的工作,但由于我们现在已经具有非常可靠的数据提取功能(包括来自越南的ID),因此获得了返回。
免责声明:我在Microblink工作,我们在其中开发商业OCR产品,其中一种用于ID扫描。
关于opencv - 分割图片中的文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61321605/
我是一名优秀的程序员,十分优秀!