Python 使用OpenCV识别7段显示器上的数字

Python 使用OpenCV识别7段显示器上的数字,python,opencv,artificial-intelligence,ocr,Python,Opencv,Artificial Intelligence,Ocr,我试图识别7段显示屏上的数字 我在Jupyter笔记本上使用python 我有0~9 7段显示的数字图像, 每个数字都有。是分开保存的。 下面是3,3.,2,2. 我想在目标图像上找到这些图像 我听说有一些工具可以在OpenCV上找到类似的图像 我尝试了用SIFT描述符和比率测试进行强力匹配 但结果似乎并不准确 将numpy导入为np 将cv2作为cv导入 将matplotlib.pyplot作为plt导入 img1=cv2.imread('C:\\Users\\USER\\Desktop

我试图识别7段显示屏上的数字

我在Jupyter笔记本上使用python

我有0~9 7段显示的数字图像, 每个数字都有。是分开保存的。 下面是
3
3.
2
2.

我想在目标图像上找到这些图像

我听说有一些工具可以在
OpenCV
上找到类似的图像

我尝试了用SIFT描述符和比率测试进行强力匹配 但结果似乎并不准确

将numpy导入为np
将cv2作为cv导入
将matplotlib.pyplot作为plt导入
img1=cv2.imread('C:\\Users\\USER\\Desktop\\test\\deeplearningimage\\thermo\\3..png',cv2.imread_GRAYSCALE)#trainImage
img2=cv2.imread('C:\\Users\\USER\\Desktop\\test\\thermosample.jpg',cv2.imread_GRAYSCALE)#查询图像
#启动筛分检测器
sift=cv.sift_create()
#使用SIFT查找关键点和描述符
kp1,des1=筛选、检测和计算(img1,无)
kp2,des2=筛选、检测和计算(img2,无)
#具有默认参数的BFMatcher
bf=cv2.BFMatcher()
匹配=bf.knnMatch(des1,des2,k=2)
#应用比率测试
好的=[]
对于匹配中的m,n:
如果m.距离<0.75*n.距离:
好的。追加([m])
#cv.drawMatchesKnn希望列表列表为匹配项。
img3=cv2.drawMatchesKnn(img1、kp1、img2、kp2、良好、无、标志=cv.DrawMatchesFlags\u NOT\u DRAW\u单点)
plt.imshow(img3),plt.show()
这是上面代码的输出

我不知道该怎么做。
任何其他的
opencv
可以解决这个问题吗?

你可以在阈值化和边缘检测之后使用模板匹配

将numpy导入为np
将matplotlib.pyplot作为plt导入
进口cv2
#读取图像
BGR=cv2.imread('input.jpg')
RGB=cv2.CVT颜色(BGR,cv2.COLOR_BGR2RGB)
#通道分裂
R=BGR[…,2]
G=BGR[…,1]
B=BGR[…,0]
#每个通道的阈值
R[B>120]=0
R[G>120]=0
R[R=阈值)
对于邮政编码(*Loc)中的pt:
cv2.矩形(img,(Loc[0],Loc[1]),(Loc[0]+w,Loc[1]+h),(255255128),2)

可以在阈值化和边缘检测后使用模板匹配

将numpy导入为np
将matplotlib.pyplot作为plt导入
进口cv2
#读取图像
BGR=cv2.imread('input.jpg')
RGB=cv2.CVT颜色(BGR,cv2.COLOR_BGR2RGB)
#通道分裂
R=BGR[…,2]
G=BGR[…,1]
B=BGR[…,0]
#每个通道的阈值
R[B>120]=0
R[G>120]=0
R[R=阈值)
对于邮政编码(*Loc)中的pt:
cv2.矩形(img,(Loc[0],Loc[1]),(Loc[0]+w,Loc[1]+h),(255255128),2)

你考虑过吗?@MANDU“我想在目标图像上找到这些图像”,你想找到位置?或者它是否存在?我已经成功地使用了这里的想法:从7段记录数字display@SiHa不管怎样,在这个教程中,他没有考虑点。只是7个段落对吗?现在你提到它,是的,我相信那是真的(已经有一段时间了)。你考虑过了吗?@曼杜。“我想在目标图像上找到这些图像”,你想找到位置吗?或者它是否存在?我已经成功地使用了这里的想法:从7段记录数字display@SiHa不管怎样,在这个教程中,他不考虑点。只是7个部分正确?现在你提到它,是的,我相信那是真的(已经有一段时间了)。