Image - Image recognition

 

Declaration

<AMIMAGE ACTIVITY="image_recognize" SUBFOLDERS="YES/NO" MATCHCASE="YES/NO" EXCLUDE="text" RE="YES/NO" HAYSTACKIMAGE="text" POSITION="text (options)" TOLERANCE="number" DATASET="text" NEEDLEIMAGE="text" />

Related Topics

Description

Scans one or more haystack (larger) images for occurrence of a matching needle (smaller) image and populates a dataset with results. To specify more than one file, use wildcard characters (i.e. * or ?). To specify multiple file names or wildcard masks, separate them with a pipe symbol (i.e. c:\*.txt|c:\*.bak).

Practical Usage

This activity can be used to quickly search for duplicate images within folders and sub-folders that may contain a considerable amount of image files. It can also be used as a tool to specify coordinates as a way to precisely identify the location of an image.

Parameters

General

Property

Type

Required

Default

Markup

Description

Haystack image

Text

Yes

(Empty)

  1. HAYSTACKIMAGE="c:\folder\fileName.png"

  2. HAYSTACKIMAGE="c:\folder\*.bmp"

  3. HAYSTACKIMAGE="c:\fdr1\*.jpg|c:\fdr2\*.gif"

The image file(s) to scan. This can be a fully qualified path and file name (preferred) or a file name only. Wildcard characters (i.e. * or ?) can be used to specify files matching a certain mask. Multiple file names and/or file masks can be specified by separating each entry with a pipe (|) symbol (i.e. c:\*.txt|c:\*.bak).  Supported image formats are JPEG, PNG, BMP, TIFF and GIF.

Needle image

Text (options)

No

(Empty)

NEEDLEIMAGE="C:\folderName\image.jpg"

The path and file name of the needle (smaller) image.

Tolerance

Number (options)

No

0

TOLERANCE="10"

The level of tolerance (accuracy) to apply when searching for matching images. Use the slider to select a tolerance value from 0 to 100 or enter the value manually in the provided text box. The default value is 0 tolerance which means pixel colors must match exactly.

Create and populate dataset

Text

Yes

(Empty)

DATASET="theDatasetName"

The name of the dataset to create and populate with haystack and needle image attributes. For more details, see Datasets below.

Pixel position

Text (options)

No

Center

  1. POSITION="center"

  2. POSITION="top_left"

Determines the area of the matching needle image to reference when determining pixel coordinates. The available options are:

  • Center (default) - X and Y pixel coordinates will reference the center of the matching needle image within the main haystack image.

  • Top left - X and Y pixel coordinates will reference the top left corner of the matching needle image.

file Options

Property

Type

Required

Default

Markup

Description

Exclude mask

Text

No

(Empty)

EXCLUDE="*.txt"

Causes this action to omit files matching the mask(s) specified. File names or wildcard masks may be used. Multiple entries may be specified by separating them with a pipe symbol (|), for example: *.txt|*.bak

Regular expression

Yes/No

No

No

RE="YES"

Specifies whether the Exclude mask parameter is a regular expression. If set to NO (default), the Exclude mask parameter contains literal text. If set to YES, the Exclude mask parameter contains a regular expression.

Only if newer than

Date

No

(Empty)

ISNEWERTHAN=

"%DateSerial(2001,10,12) + TimeSerial(00,00,00)%"

If enabled, causes this action to only act on files that are newer than the date/time specified. If this parameter is left blank or disabled (default), file dates are ignored.

Click the Custom button to select from a list of pre-defined date parameters. Enable the Expression option to allow entry of a date/time expression.

Only if older than

Date

No

(Empty)

ISOLDERTHAN=

"%DateSerial(2001,10,12) + TimeSerial(00,00,00)%"

If enabled, causes this action to only act on files that are older than the date/time specified. If this parameter is left blank or disabled (default), file dates are ignored.

Click the Custom button to select from a list of pre-defined date parameters. Enable the Expression option to allow entry of a date/time expression.

Include sub-folders

Yes/No

No

No

SUBFOLDERS="YES"

If set to YES, denotes that, if present, sub-folders should be searched for files matching the mask specified in the source parameter. If set to NO (default), sub-folders are ignored. Only files that exist in the root of the source folder will be searched.

Match case

Yes/No

No

No

MATCHCASE="YES"

If set to YES, the file specified must match cases with the original filename. If set to NO (default) cases are ignored.

file Attributes

Property

Type

Required

Default

Markup

Description

Attributes

Text (Options)

No

(Empty)

ATTRFILTER="+R+A-H" (copy read-only & archive files but not hidden files)

These settings causes the activity to filter which files are affected by the attribute change based on the original attribute settings of the source file(s). In visual mode, a group of controls are provided to assist in the selection of this parameter. In AML mode, a single text item must be specified that contains the original attribute mask of the files you wish to affect. The available options are:

  • R—Read-only: Specifying "+R" causes files with this attribute turned on to be included, "-R" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • A—Archive: Specifying "+A" causes files with this attribute turned on to be included, "-A" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • S—System: Specifying "+S" causes files with this attribute turned on to be included, "-S" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • H—Hidden: Specifying "+R" causes files with this attribute turned on to be included, "-H" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • C—Compression: Specifying "+C" causes files with this attribute turned on to be included, "-C" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

 

Description

Error Causes

On Error

Additional Notes

Datasets

A dataset is a multi-column, multi-row object that contains a collection of information gathered during execution of a particular activity and stored in memory. This activity creates and populates a dataset with the following fields (rows):

Name

Type

Return Value

theDataset.Haystack

Text

The path and file name of the haystack image.

theDataset.HaystackHeight

Number

The height of the haystack image measured in pixels.

theDataset.HaystackWidth

Number

The width of the haystack image measured in pixels.

theDataset.IsFound

True/False

Returns TRUE if the haystack image was found. Otherwise, returns FALSE.

theDataset.Needle

Text

The path and file name of the needle image.

theDataset.NeedleHeight

Number

The height of the needle image measured in pixels.

theDataset.NeedleWidth

Number

The width of the needle image measured in pixels.

theDataset.X

Number

The X coordinates of a matching image.

theDataset.Y

Number

The Y coordinates of a matching image.

Example

NOTE: The sample AML code below can be copied and pasted directly into the Steps panel of the Task Builder.

Description

Find "Center" coordinates of needle image "c:\temp\Needlemage .png" in haystack image "c:\temp\HashImage.png". Create and populate dataset "imageAttrib". Include subfolders.

 

<AMIMAGE ACTIVITY="image_recognize" MATCHCASE="YES" SUBFOLDERS="YES" HAYSTACKIMAGE="c:\temp\HashImage.png" DATASET="imageAttrib" NEEDLEIMAGE="c:\temp\Needlemage .png" />