@@ -126,12 +126,21 @@ def findMatches(listTemplates, image, method=cv2.TM_CCOEFF_NORMED, N_object=floa
126
126
127
127
else :
128
128
xOffset = yOffset = 0
129
-
130
- listHit = []
131
- for tempTuple in listTemplates :
132
-
129
+
130
+ # Check that the template are all smaller are equal to the image (original, or cropped if there is a search region)
131
+ for index , tempTuple in enumerate ( listTemplates ) :
132
+
133
133
if not isinstance (tempTuple , tuple ) or len (tempTuple )== 1 :
134
134
raise ValueError ("listTemplates should be a list of tuples as ('name','array') or ('name', 'array', 'mask')" )
135
+
136
+ templateSmallerThanImage = all (templateDim <= imageDim for templateDim , imageDim in zip (tempTuple [1 ].shape , image .shape ))
137
+
138
+ if not templateSmallerThanImage :
139
+ fitIn = "searchBox" if (searchBox is not None ) else "image"
140
+ raise ValueError ("Template '{}' at index {} in the list of templates is larger than {}." .format (tempTuple [0 ], index , fitIn ) )
141
+
142
+ listHit = []
143
+ for tempTuple in listTemplates :
135
144
136
145
templateName , template = tempTuple [:2 ]
137
146
mask = None
0 commit comments