首页 > 解决方案 > 如何使用opencv将一系列灰色像素转换为黑色?

问题描述

我正在使用 OpenCV 和 Tesseract。我试图将一系列灰色像素转换为黑色。例子: 灰色

如您所见,有一种“明亮”的多灰色,我需要将其转换为全黑,以便 OCR 能够更好地阅读它。

有谁知道该怎么做?

标签: pythonopencvocr

解决方案


import cv2                                                                                                                                    
import numpy as np                                                                                                                            I = cv2.imread('imgPath')
## If you are interested in thresholding based on brightness,
## using grey channel or brightness channel from HSV is always a good idea :)  
# Convert input RGB to HSV
HSV = cv2.cvtColor(I, cv2.COLOR_BGR2HSV)
# Get brightness channel
V = HSV[:, :, 2]
# Threshold all the very bright pixels
bw = 255*np.uint8(V < 200)  
# save the image you want
cv2.imwrite("bw.png", bw)  

在此处输入图像描述


推荐阅读