matchTemplate
import { matchTemplate } from '@banou/opencv-wasm'Use after await initOpenCV(). See the initialization and named imports guide.
example: samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp An example using Template Matching algorithm example: samples/cpp/snippets/mask_tmpl.cpp An example using Template Matching algorithm with mask Compares a template against overlapped image regions.
The function slides through image , compares the overlapped patches of size w \times h against
templ using the specified method and stores the comparison results in result . #TemplateMatchModes
describes the formulae for the available comparison methods ( I denotes image, T
template, R result, M the optional mask ). The summation is done over template and/or
the image patch: x' = 0...w-1, y' = 0...h-1
After the function finishes the comparison, the best matches can be found as global minimums (when #TM_SQDIFF was used) or maximums (when #TM_CCORR or #TM_CCOEFF was used) using the #minMaxLoc function. In case of a color image, template summation in the numerator and each sum in the denominator is done over all of the channels and separate mean values are used for each channel. That is, the function can take a color template and a color image. The result will still be a single-channel image, which is easier to analyze.
matchTemplate(image: Mat, templ: Mat, result: Mat, method: number, mask: Mat): void;2 available overloads
matchTemplate(image: Mat, templ: Mat, result: Mat, method: number): void;matchTemplate(image: Mat, templ: Mat, result: Mat, method: number, mask: Mat): void;imageImage where the search is running. It must be 8-bit or 32-bit floating-point.
templSearched template. It must be not greater than the source image and have the same data type.
resultOutput destination, filled by the native operation. Map of comparison results. It must be single-channel 32-bit floating-point. If image is
W \times Hand templ isw \times h, then result is(W-w+1) \times (H-h+1).methodParameter specifying the comparison method, see #TemplateMatchModes
maskOptional mask. It must have the same size as templ. It must either have the same number of channels as template or only one channel, which is then used for all template and image channels. If the data type is #CV_8U, the mask is interpreted as a binary mask, meaning only elements where mask is nonzero are used and are kept unchanged independent of the actual mask value (weight equals 1). For data type #CV_32F, the mask values are used as weights. The exact formulas are documented in #TemplateMatchModes.
These signatures describe this package. Upstream documentation can mention optional backends that are absent from this build. Check runtime compatibility before choosing a backend or file format.