所以,我有这个平面图
我想改变它的颜色,这样我就可以使用 OCR 来读取房间号。为此,我想做以下事情:将所有红色更改为白色,将所有其他颜色更改为黑色,所以剩下的就是房间号。我想尝试阈值化,但我在文档中看到它只能在灰度图像上完成,所以我首先运行以下代码对其进行灰度化:
import cv2
import os
from ConvertSVG import svg_2_png
# Convert the SVG to a PNG
output_path = os.path.join('converted svgs', 'Andover HS Level 3.png')
svg_2_png(os.path.join('svg', 'Andover HS Level 3.svg'), output_path)
img = cv2.imread(output_path)
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Grayscale", gray_image)
cv2.waitKey(0)
我得到了这个输出
如您所见,灰度确实有效,但房间号变得越来越难读,OCR 难以读取。
我如何使用 OpenCV-python 将所有红色变为白色,将所有其他颜色变为黑色,尽可能少地“阻塞”?