【问题标题】:Python OpenCV: Change background color to whitePython OpenCV:将背景颜色更改为白色
【发布时间】:2019-02-11 08:10:42
【问题描述】:

谁能分享将附件图片的背景颜色改为白色的代码,以便我可以用OCR软件识别前景数字?

【问题讨论】:

  • OpenCV 文档/教程非常全面,看看那里。如果您的代码有任何具体问题,请在此处询问。但是,这不是代码编写服务。

标签: python opencv


【解决方案1】:

您需要转换为灰色,应用对比度并使用阈值来获得此结果:

import cv2
import numpy as np

img = cv2.imread("digits.jpg", cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)[...,0]
# edges = cv2.Canny(gray, 10,30)    
blurred = cv2.GaussianBlur(gray, (7, 7), 0)
clahe = cv2.createCLAHE(clipLimit=5.0, tileGridSize=(32,32))
contrast = clahe.apply(blurred)
ret, thresh = cv2.threshold(contrast, 20, 255, cv2.THRESH_BINARY|cv2.THRESH_OTSU)


while True:
  cv2.imshow("result", thresh)
  k = cv2.waitKey(30) & 0xff
  if k == 27:
      break

【讨论】:

  • 非常感谢!但是,Tesseract(OCR 软件)无法正确识别数字。
  • 嗯,这回答了所提出的问题。请标记为已解决。您可能会问一个特定的 OCR 问题,为什么它不能识别另一个问题中的数字。您是否尝试将图像裁剪为带有数字的部分?
  • @FredGuth 要求问题作者将您的答案标记为已接受的答案不被接受。投票和使用接受是自愿的,请参阅What should I do when someone answers my question?。 (旁注:似乎没有人支持这个问题。)
猜你喜欢
  • 2014-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
  • 2019-08-20
  • 2020-04-03
  • 1970-01-01
相关资源
最近更新 更多