承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 电表辨认

python 电表辨认

管理员 2023-06-21 09:32:19 软件开发 16 ℃ 0 评论 1814字 收藏

python 电表辨认

Python是一种高级编程语言,具有简洁、易读、易于学习和使用的特点。它有着广泛的利用场景,包括电表辨认。电表辨认是一项基于数字图象处理的技术,可以自动辨认电表读数并精确抄表,提高抄表效力和减少误差。

import cv2
import numpy as np
from PIL import Image
image_file = 'meter.jpg'
#print("正在读取文件夹 %s 中的图片......" % image_file)
img = cv2.imread(image_file)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV)
kernel = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel, iterations = 2)
sure_bg = cv2.dilate(opening,kernel,iterations=3)
dist_transform = cv2.distanceTransform(opening,cv2.DIST_L2,5)
ret, sure_fg = cv2.threshold(dist_transform, 0.7*dist_transform.max(),255,0)
sure_fg = np.uint8(sure_fg)
unknown = cv2.subtract(sure_bg,sure_fg)
ret, markers = cv2.connectedComponents(sure_fg)
markers = markers+1
markers[unknown==255] = 0
markers = cv2.watershed(img,markers)
img[markers == ⑴] = [255,0,0]
#cv2.imshow('Segmented Meter', img)
region = [(500, 194), (1236, 144), (1270, 306), (504, 356)]
crop = img[region[1][1]:region[3][1], region[0][0]:region[2][0]]
im = Image.fromarray(crop)
#im.show()
im2 = im.convert(mode='1')
#im2.show()
print("正在分析图片中的数字......")
text = pytesseract.image_to_string(im2, lang = 'eng', config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')
print(text)

以上是辨认电表读数的Python代码,其中使用到了OpenCV库和Pillow库,也调用了tesseract-ocr引擎来辨认数字。通过读取电表图片,先进行图象处理,再进行分割和辨认,最后得到电表读数,实现了电表自动抄表的功能。

文章来源:丸子建站

文章标题:python 电表辨认

https://www.wanzijz.com/view/57690.html

TAG: css 电表python

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信