Python 3.6.7-OpenCV(4.1.2)模板匹配
我有此代码(在文档中使用)用于模板匹配:Python 3.6.7-OpenCV(4.1.2)模板匹配,python,python-3.x,opencv,image-processing,template-matching,Python,Python 3.x,Opencv,Image Processing,Template Matching,我有此代码(在文档中使用)用于模板匹配: img_rgb=cv2.imread('mta-screen_2020-01-01_12-07-24.png.png')) img_gray=cv2.CVT颜色(img_rgb,cv2.COLOR_BGR2GRAY) 路径='D:\!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Piton\MTA_pyautogui\TrainImgs'+chr(92)+'1.png' 模板
img_rgb=cv2.imread('mta-screen_2020-01-01_12-07-24.png.png'))
img_gray=cv2.CVT颜色(img_rgb,cv2.COLOR_BGR2GRAY)
路径='D:\!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Piton\MTA_pyautogui\TrainImgs'+chr(92)+'1.png'
模板=cv2.imread(路径0)
w、 h=模板。形状[:-1]
res=cv2.matchTemplate(img_gray,template,cv2.TM_cceff_NORMED)
阈值=0.8
loc=纳米,其中(分辨率>=阈值)
对于邮政编码(*loc[:-1]):
cv2.矩形(img_rgb,pt,(pt[0]+w,pt[1]+h),(0,0255),2)
cv2.imwrite('res.png',img_rgb)
因此,我有一张图片(要检测),它的速度位于下角:
我有一个模板(速度的第一个字符),它位于上面更大图像的右下角:
我有输出错误:
Traceback (most recent call last):
File "D:/!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!_!Piton/MTA_pyautogui/main.py", line 38, in <module>
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.1.2) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
回溯(最近一次呼叫最后一次):
文件“D:/!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Piton/MTA_pyautogui/main.py”,第38行,在
img_gray=cv2.CVT颜色(img_rgb,cv2.COLOR_BGR2GRAY)
cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\OpenCV\modules\imgproc\src\color.cpp:182:error:(-215:断言失败)_函数“cv::cvtColor”中的src.empty()
文件树:
所以,我的目标是根据每个数字制作一个模板,并检测火车的速度。我真的不关心方法或速度,我只是想要一个输出,告诉列车的速度。因此,我想使用OpenCV
模板匹配
img_rgb = cv2.imread('mta-screen_2020-01-01_12-07-24.png.png')
如果你看到有两个.png
而不是一个,我就找到了答案。
现在,我正试图解决这个问题,因为它并没有真正检测到我需要的东西,所以我现在正试图裁剪图像,使降落伞的右角只能看到。I gues您在这里有印刷错误
img\u rgb=cv2.imread('mta-screen\u 2020-01-01\u 12-07-24.png.png'))
duplicate file Extension查看和获取动态缩放变量模板匹配的示例