@@ -6,11 +6,12 @@ using namespace cv;
6
6
7
7
int main (int , char ** argv)
8
8
{
9
- const char * image_window = " Source Image " ;
9
+ const char * image_window = " Busqueda de patrones " ;
10
10
const char * result_window = " Result window" ;
11
11
12
- Mat img_src = imread (" image/messi.jpg" , 1 );
13
- Mat templ = imread (" image/templ.jpg" , 1 );
12
+ Mat img_src = imread (" data/images/image.png" , CV_LOAD_IMAGE_COLOR);
13
+ Mat templ = imread (" data/images/banana.png" , CV_LOAD_IMAGE_COLOR);
14
+ Mat mask = imread (" data/images/mascara.png" , CV_LOAD_IMAGE_COLOR);
14
15
15
16
// obtener las dimensiones para el cv::Mat resultado
16
17
int result_cols = img_src.cols - templ.cols + 1 ;
@@ -19,10 +20,10 @@ int main(int, char** argv)
19
20
Mat result (result_rows, result_cols, CV_32FC1);
20
21
21
22
// establecer el match template mode
22
- cv::TemplateMatchModes match_mode = cv::TemplateMatchModes::TM_CCOEFF_NORMED ;
23
+ cv::TemplateMatchModes match_mode = cv::TemplateMatchModes::TM_SQDIFF ;
23
24
24
25
// aplicar match template con el modo indicado y normalizar el resultado
25
- matchTemplate (img_src, templ, result, match_mode);
26
+ matchTemplate (img_src, templ, result, match_mode, mask );
26
27
normalize (result, result, 0 , 1 , NORM_MINMAX, -1 , Mat ());
27
28
28
29
double minVal, maxVal;
@@ -40,10 +41,13 @@ int main(int, char** argv)
40
41
rectangle (img_src, matchLoc, Point (matchLoc.x + templ.cols , matchLoc.y + templ.rows ), Scalar (0 , 255 , 0 ), 2 , CV_AA, 0 );
41
42
42
43
// mostrar las imagenes
43
- imshow (result_window, result);
44
44
imshow (image_window, img_src);
45
45
46
+ imshow (" MASCARA" , mask);
47
+ imshow (" PATRON" , templ);
48
+
46
49
waitKey (0 );
50
+
47
51
return 0 ;
48
52
}
49
53
0 commit comments