【问题标题】:ocr image cleansing with python opencv使用 python opencv 清理 ocr 图像
【发布时间】:2020-06-18 17:40:44
【问题描述】:

我目前正在学习计算机视觉 OCR。我有一张需要扫描的图像。我在图像清理过程中遇到问题。

我在 python 中使用 opencv2 来做这些事情。这是原图:

image = cv2.imread(image_path)
cv2.imshow("imageWindow", image)

我要清理上面的图像,中间的数字(64)是我要扫描的区域。但是,号码也被清理了。

image[np.where((image > [0,0,105]).all(axis=2))] = [255,255,255]
cv2.imshow("imageWindow", image)

我应该怎么做才能纠正这里的清洁?我想清理 64 所在的屏幕,因为之后我将执行 OCR 扫描。

请帮忙,提前谢谢。

【问题讨论】:

  • 包含数字的那个屏幕的位置总是相同还是不同?
  • 总是一样的。有很多图像,但它们都是同一设备的图像。区别只是数字
  • 那么就可以使用那个矩形部分的坐标轻松删除了
  • 我不确定所有图像之间的坐标是否相同。图像是通过手机拍摄的,因此位置经常变化。你对此有什么建议吗?
  • 啊抱歉,有人问你屏幕的位置。我的错。是的,有时它会有所不同

标签: python opencv ocr


【解决方案1】:

您尝试执行的操作称为“阈值化”。看起来您的技术正在为低于某个阈值的像素重新着色,但该图像中 LCD 数字暗度的变化足以将其丢弃。

我会花一些时间阅读有关阈值的信息,这是一个很好的起点: Thresholding in OpenCV with Python。您可能需要一种自适应技术(例如自适应高斯阈值),但您可能会找到其他适用于您的图像的方法。

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 2018-06-20
    • 2015-07-26
    • 2013-11-07
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    相关资源
    最近更新 更多