All .pat files are created using png2pat(1) or rgb2pat(1). The image.png is scanned for detect.pat starting from X,Y given in parameters. When detect.pat is found, then all the match.pat files are scanned at an offset of x,y given in parameters. If a match is found, then visgrep prints the x,y and index of the item.
For example, image.png is a screenshot and match1.pat .. match5.pat are images of letters a to e. Each of these letters is enclosed in a blue box, so detect.pat is an image of the upper left corner of the box. This box is not included in the match*.pat files, so they are actually offset 5 pixels down and 4 pixels to the left. You might run it like this then:
Etc, with all matches listed. Now suppose the screen showed ace so visgrep might output:
Showing that match_a.pat (index 0) is at 10,10 on the screen. If no match is found even though the detection image is found, the index will be -1.
This manual page was written by Aurelien Jarno <firstname.lastname@example.org>, for the Debian project (but may be used by others).