python opencv数字识别,用openCV和python检测图像中的图案和数字

我正在尝试创建一个程序,可以输入一个图像(我是通过PIL的imageGrab来完成的),并检测其中一些已知的符号及其位置。好在我很确定我不需要神经网络,因为我知道每个符号的确切形状和大小。问题是我不知道这些会有多少,以及每个符号的背景颜色是什么。有些符号是数字,我有一个图像的每个数字0-9,但可能有多达3位数的数字。我想我可以找到一种方法,通过它们的位置来知道哪个数字是同一个数字的一部分,但我们稍后再讨论。现在,我已经将图像转换成灰度,并使用opencv2显示它。在

你知道我怎么用opencv做吗?其他图书馆?

我需要它足够快,希望每秒10帧。在import numpy as np

from PIL import ImageGrab

import cv2

def screen_record():

while(True):

global printscreen

image = ImageGrab.grab(bbox=(20,270,430,685))

printscreen = np.array(image)

grayscale_image = cv2.cvtColor(printscreen, cv2.COLOR_BGR2GRAY)

cv2.imshow('window', grayscale_image)

if cv2.waitKey(25) & 0xFF == ord('q'):

cv2.destroyAllWindows()

break

if cv2.waitKey(25) & 0xFF == ord('w'):

image.save("screen_shot.png")

print("Saved current window as image")

screen_record()

编辑:我设法得到了一些与opencv的模板匹配,只有数字2(目前)。我找到了一个不错的教程here。我的问题是当没有一个完全匹配的模板,意味着没有数字2s,或大于1。当没有任何一个时,它看起来像是在图像上随机选择一些东西,当有多个时,我只检测到其中一个。用不同的方式来满足我的需要,有可能吗?在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值