python - 复杂背景下的OCR时间戳提取

标签 python opencv ocr tesseract

这是从 CCTV 视频中截取的图像,我想从快照中提取时间戳。 OpenCV/Tesseract/python 是这项工作的工具:
a cctv snapshot with complex background
这里的困难是复杂的背景,所以即使我用中值文件过滤器(opencv)对图片进行二值化,ocr结果仍然很糟糕。当然,我可以应用特定的自定义阈值,但在这里我遇到了两个问题:

  • 如何处理白色和黑色的字符?
  • 有没有办法(某些方法)为这些类型的图片提供更一般的阈值?

  • 也许我在这里处理预处理的想法是不正确的。在发送到 Tesseract 之前对这种图像进行预处理似乎不是一件容易的事。任何提示和想法都值得感谢。

    最佳答案

  • 做两次阈值处理,一次通常用于 254 以上的白色像素,一次用于倒置图片:img = cv2.bitwise_not(img) ,然后合并两个结果
  • 有一个inRange OpenCV 中的函数,您可以在其中设置最小/最大 HSV 值。使用 HSV 值的输入参数创建一个函数,将这些值记录在列表中,然后使用 for 进行迭代。循环屏蔽+合并
  • 关于python - 复杂背景下的OCR时间戳提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64709869/

    相关文章:

    python - 为什么会收到此SyntaxError?

    python - 'requests' python 库上的 DNS 超时

    ocr - 有推荐的可编程驾驶执照扫描仪吗?

    azure |表单识别器预选文件?

    python - 谷歌数据流/Python : Import errors with save_main_session and custom modules in __main__

    python - 需要一个使用 Python 中的 Webkit 库的简单 "Hello World"示例

    opencv - 将std::vector <cv::Point2f>转换为图像

    python - 仅当 OpenCV 中存在矩形时才执行操作

    opencv - 咖啡 bean 分离算法

    python - 从计算机 visio 调用 ocr api 时没有得到预期结果