HALCON Reference Manual 10.0.2
Table of Contents / Regions / Features ClassesClassesClasses | | | Operators

hamming_distance_normhamming_distance_normhamming_distance_normHammingDistanceNormHammingDistanceNorm (Operator)

Name

hamming_distance_normhamming_distance_normhamming_distance_normHammingDistanceNormHammingDistanceNorm — Hamming distance between two regions using normalization.

Signature

hamming_distance_norm(Regions1, Regions2 : : Norm : Distance, Similarity)

Herror hamming_distance_norm(const Hobject Regions1, const Hobject Regions2, const char* Norm, Hlong* Distance, double* Similarity)

Herror T_hamming_distance_norm(const Hobject Regions1, const Hobject Regions2, const Htuple Norm, Htuple* Distance, Htuple* Similarity)

Herror hamming_distance_norm(Hobject Regions1, Hobject Regions2, const HTuple& Norm, Hlong* Distance, double* Similarity)

Herror hamming_distance_norm(Hobject Regions1, Hobject Regions2, const HTuple& Norm, HTuple* Distance, HTuple* Similarity)

Hlong HRegion::HammingDistanceNorm(const HRegion& Regions2, const HTuple& Norm, double* Similarity) const

HTuple HRegionArray::HammingDistanceNorm(const HRegionArray& Regions2, const HTuple& Norm, HTuple* Similarity) const

void HOperatorSetX.HammingDistanceNorm(
[in] IHUntypedObjectX* Regions1, [in] IHUntypedObjectX* Regions2, [in] VARIANT Norm, [out] VARIANT* Distance, [out] VARIANT* Similarity)

VARIANT HRegionX.HammingDistanceNorm(
[in] IHRegionX* Regions2, [in] VARIANT Norm, [out] VARIANT* Similarity)

static void HOperatorSet.HammingDistanceNorm(HObject regions1, HObject regions2, HTuple norm, out HTuple distance, out HTuple similarity)

HTuple HRegion.HammingDistanceNorm(HRegion regions2, HTuple norm, out HTuple similarity)

int HRegion.HammingDistanceNorm(HRegion regions2, string norm, out double similarity)

Description

The operator hamming_distance_normhamming_distance_normhamming_distance_normHammingDistanceNormHammingDistanceNorm returns the hamming distance between two regions, i.e., the number of pixels of the regions which are different (DistanceDistanceDistanceDistancedistance). Before calculating the difference the region in Regions1Regions1Regions1Regions1regions1 is normalized onto the regions in Regions2Regions2Regions2Regions2regions2. The result is the number of pixels contained in one region but not in the other:

               Distance = |Norm(Regions1) intersection ~Regions2| +
                          |Regions2 intersection ~Norm(Regions1)|

The parameter SimilaritySimilaritySimilaritySimilaritysimilarity describes the similarity between the two regions based on the hamming distance DistanceDistanceDistanceDistancedistance:

             Similarity = ( 1 - Distance ) / ( |Norm(Regions1)| + |Regions2| )

The following types of normalization are available:

'center'"center""center""center""center":

The region is moved so that both regions have the save center of gravity.

If both regions are empty SimilaritySimilaritySimilaritySimilaritysimilarity is set to 0. The regions with the same index from both input parameters are always compared.

Attention

In both input parameters the same number of regions must be passed.

Parallelization

Parameters

Regions1Regions1Regions1Regions1regions1 (input_object)  region(-array) objectHRegionHRegionHRegionXHobject

Regions to be examined.

Regions2Regions2Regions2Regions2regions2 (input_object)  region(-array) objectHRegionHRegionHRegionXHobject

Comparative regions.

NormNormNormNormnorm (input_control)  string(-array) HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Type of normalization.

Default value: 'center' "center" "center" "center" "center"

List of values: 'center'"center""center""center""center"

DistanceDistanceDistanceDistancedistance (output_control)  integer(-array) HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Hamming distance of two regions.

Assertion: Distance >= 0

SimilaritySimilaritySimilaritySimilaritysimilarity (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Similarity of two regions.

Assertion: (0 <= Similarity) && (Similarity <= 1)

Complexity

If F is the area of a region the mean runtime complexity is O(sqrt(F)).

Result

hamming_distance_norm returns the value 2 (H_MSG_TRUE) if the number of objects in both parameters is the same and is not 0. The behavior in case of empty input (no input objects available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). The behavior in case of empty region (the region is the empty set) is set via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdthresholdThresholdThreshold, regiongrowingregiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionconnectionConnectionConnection

Alternatives

intersectionintersectionintersectionIntersectionIntersection, complementcomplementcomplementComplementComplement, area_centerarea_centerarea_centerAreaCenterAreaCenter

See also

hamming_change_regionhamming_change_regionhamming_change_regionHammingChangeRegionHammingChangeRegion

Module

Foundation


Table of Contents / Regions / Features ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH