如何从这些彩色图像中提取文本?

2024-04-19 21:03:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从图像中提取标签上的文本。图像是彩色的,并且是在真实的环境中。PFA图像。Sample Image

我尝试了多种解决方案:

  1. 我可以使用Tesseract从平面图像中读取文本,但如果文本处于某个角度,它就不起作用。你知道吗
  2. 尝试了大量的图像预处理,将其转换为二进制和灰度,但无法提取所需的文本。你知道吗
  3. 由于上述步骤失败,我也无法反扭曲的文本。你知道吗
    image = cv2.imread("p18-73.png",0)
    thresh = cv2.adaptiveThreshold(image,255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11,2)
    coords = np.column_stack(np.where(thresh > 0))
    angle = cv2.minAreaRect(coords)[-1]

上述预处理代码不起作用。你能告诉我接近这张照片的最佳方式是什么吗?你知道吗


Tags: sample图像image文本环境np标签coords
1条回答
网友
1楼 · 发布于 2024-04-19 21:03:19

你检查过cv2.adaptiveThreshold()的结果了吗? cv2.adaptiveThreshold()的结果如下:

Adaptive Threshold Result

我想这不是你想要的。 尝试使用全局阈值cv2.threshold(),并调整阈值。你知道吗

ret, thresh = cv2.threshold(image, 240, 255, cv2.THRESH_BINARY)

Global Threshold Result

此外,还可以添加cv2.morphologyEx()来消除噪声。你知道吗

kernel = np.ones((2,2),np.uint8)
thresh = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel)

相关问题 更多 >