首页 > 解决方案 > 我应该怎么做才能识别七段显示器的数字?

问题描述

我正在做一个项目来拍摄电表读数并处理图像以识别数字并将其上传到云端。

   import cv2
   import numpy as np
   from matplotlib import pyplot as plt 
   from PIL import Image 


   image = cv2.imread('meter1.jpg')
   gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
   cv2.imshow('Original image',image)


   cv2.imshow('Gray image', gray)

   threshold = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY, 83, 5) 
   cv2.imshow('Adaptive Gaussian', threshold) 

   cv2.imwrite('Binary.png',threshold)

   cv2.waitKey(0)
   cv2.destroyAllWindows()

这是我到目前为止编写的代码,它将 RGB 图像转换为灰度,然后使用自适应阈值

这是我使用的图像

接下来我该怎么办?我应该使用 tesseract OCR 吗?有什么方法可以提取这些数字或数字

这是我运行代码后得到的图像

请帮助如何从这个阶段开始

标签: python-3.xopencvmatplotlibimage-processing

解决方案


只需检查每个段中的一个点(或段内的小 ROI 的平均值)即可识别显示的数字。


推荐阅读