Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 8.1   8.2   8.3   8.4   8.5   9.0   9.1   9.2   9.3   9.4    Statistic  

GMImage.Hash

Calculates a hash of the image.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
GraphicsMagick 9.4 Yes Yes Yes Yes Yes
MBS( "GMImage.Hash"; ImageRef )   More

Parameters

Parameter Description Example value
ImageRef The image reference number. 1

Result

Returns text or error.

Description

Calculates a hash of the image.
Hash is returned as 64 characters being 1 or 0.
We convert image to 8x8, turn grayscale and check if pixels are above or below mean value.
This hash is quite immune against resizing, compression artifacts and hue changes.
You can use Text.LevenshteinDistance or Text.JaroWinklerDistance to compare two hashes.

Examples

Play with hash function:

Set Variable [ $ImageRef ; Value: MBS("GMImage.NewFromContainer"; Test::BigImage) ]
Set Variable [ $Hash1 ; Value: MBS("GMImage.Hash"; $ImageRef) ]
Set Variable [ $r ; Value: MBS( "GMImage.Flip"; $ImageRef ) ]
Set Variable [ $Hash2 ; Value: MBS("GMImage.Hash"; $ImageRef) ]
Set Variable [ $r ; Value: MBS( "GMImage.Flop"; $ImageRef ) ]
Set Variable [ $Hash3 ; Value: MBS("GMImage.Hash"; $ImageRef) ]
Set Variable [ $Error ; Value: MBS("GMImage.Release"; $ImageRef) ]
Show Custom Dialog [ "Hash original: " & $hash1 & ¶ & "Hash after 1x mirror: " & $hash2 & ¶ & "Hash after 2x mirror: " &… ]

See also

Blog Entries

Created 10th September 2019, last changed 12nd September 2019


GMImage.GetcolorMap   -   GMImage.ImageCount

Feedback: Report problem or ask question.




Links
MBS Xojo Plugins