# Is the document of CV_TM_SQDIFF_NORMED template matching method correct ?

The link to the document is here http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching

According to the formula (or my understanding of the formula), in some cases, the result would be larger than 1.

For example, let Img be a 4x4 image:

```
Img={1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16}
```

let Tpl be a 2x2 template:

```
Tpl={11,12 15,16}
```

The dividend of the first element of the matching result would be:

```
(11-1)^2 + (12 - 2)^2 + (15 - 5)^2 + (16 - 6)^2 = 400
```

The divisor of the first element of the matching result would be:

```
sqrt( (1^2 + 2^2 + 5^2 + 6^2) * (11^2 + 12^2 + 15^2 + 16^2) ) = 221.89
```

So the first element would roughly be:

```
400 / 221.89 = 1.802
```

According to the documentation, CV_TM_SQDIFF_NORMED results would be between 0 and 1.0, apparently, my result isn't. Which part of my calculation is wrong ? Or the documentation is incorrect ?

Thanks

I need the formula in order to implement the algorithm in OpenCL, because the OpenCL implementation from OpenCV is way too slow.

I ended up reading the source code of OpenCV. The document is actually correct, but OpenCV's implementation is a little bit different: if the calculated value is larger than 1, the value would be set to 1.