使用OpenCV-Python进行阈值处理时保留不同颜色的文本

cxfofazt  于 2023-08-02  发布在  Python
关注(0)|答案(1)|浏览(135)

我有一个主要是在黑暗的背景光文本的图像。某些文本颜色较深(紫色)。
我使用opencv-python来操作图像,以便更好地进行OCR解析。
在此之前还有一点处理,但我觉得给我带来麻烦的处理步骤如下。
图像被转换为灰度
x1c 0d1x的数据
第一个月
图像然后得到反转(这似乎保持最后的文字更清晰)



cv2.bitwise_not(img)
图像然后通过threhold运行



cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
你可以看到我完全失去了黑暗的文字。切换到自适应阈值确实可以更好地保留文本,但会产生大量噪声(背景显示为黑色,但实际上不是)。
有什么想法可以修改我当前的阈值来保留较暗的文本吗?

llmtgqce

llmtgqce1#

看起来你的用例对大津来说并不理想,我会从阈值中删除该选项,并硬编码或通过其他方法计算阈值范围。
硬编码为这些值:

cv2.threshold(img, 215, 255, cv2.THRESH_BINARY)[1]

字符串
生成以下结果:


的数据
其他方法的计算将取决于您可能的输入范围。根据可能的输入范围,您可能希望在阈值化之前以其他方式过滤或预处理图像。

相关问题