python-3.x - 我应该怎么做才能识别七段显示器的数字?
问题描述
我正在做一个项目来拍摄电表读数并处理图像以识别数字并将其上传到云端。
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 吗?有什么方法可以提取这些数字或数字
请帮助如何从这个阶段开始
解决方案
只需检查每个段中的一个点(或段内的小 ROI 的平均值)即可识别显示的数字。
推荐阅读
- vba - 验证各种条件
- java - 当牌结束时,如何让我的扑克牌随机生成器结束?
- swift - 检查零,仍然崩溃说它的零
- leaflet - OSM Leaflet 将 Ionic UI 组件添加到 bindPopup()
- r - 使用 DiagrammeR 将一排节点放置在另一排节点下方
- javascript - 为什么定时javascript重定向失败?
- typescript - 打字稿(tsc)没有拿起我的 .ts 文件
- python - 使用 Keras/TF 在 jupyter notebook 自定义损失函数中打印
- html - 使用时网页不显示
- javascript - 在Jquery中单击提交按钮之前如何获取输入字段数据?