Skip to content

unwarp_image_vector_fieldUnwarpImageVectorFieldUnwarpImageVectorFieldunwarp_image_vector_fieldunwarp_image_vector_field🔗

Short description🔗

unwarp_image_vector_fieldUnwarpImageVectorFieldUnwarpImageVectorFieldunwarp_image_vector_fieldunwarp_image_vector_field — Unwarp an image using a vector field.

Signature🔗

unwarp_image_vector_field( image Image, image VectorField, out image ImageUnwarped )void UnwarpImageVectorField( const HObject& Image, const HObject& VectorField, HObject* ImageUnwarped )static void HOperatorSet.UnwarpImageVectorField( HObject image, HObject vectorField, out HObject imageUnwarped )def unwarp_image_vector_field( image: HObject, vector_field: HObject ) -> HObject

Herror unwarp_image_vector_field( const Hobject Image, const Hobject VectorField, Hobject* ImageUnwarped )

Herror T_unwarp_image_vector_field( const Hobject Image, const Hobject VectorField, Hobject* ImageUnwarped )

HImage HImage::UnwarpImageVectorField( const HImage& VectorField ) const

HImage HImage.UnwarpImageVectorField( HImage vectorField )

Description🔗

unwarp_image_vector_fieldUnwarpImageVectorField unwarps the image Imageimageimage using the vector field VectorFieldvectorFieldvector_field and returns the unwarped image in ImageUnwarpedimageUnwarpedimage_unwarped. The vector field must be of the semantic type vector_field_relative and is typically determined with optical_flow_mgOpticalFlowMg. Hence, unwarp_image_vector_fieldUnwarpImageVectorField can be used to unwarp the second input image of optical_flow_mgOpticalFlowMg to the first input image. It should be noted that because of the above semantics the vector field image represents an inverse transformation from the destination image of the vector field to the source image.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on domain level.

Parameters🔗

Imageimageimage (input_object) singlechannelimage(-array) → object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject (byte / uint2 / real)

Input image.

VectorFieldvectorFieldvector_field (input_object) singlechannelimage(-array) → object (vector_field)HObject (vector_field)HImage (vector_field)HObject (vector_field)Hobject (vector_field)

Input vector field.

ImageUnwarpedimageUnwarpedimage_unwarped (output_object) singlechannelimage(-array) → object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject * (byte / uint2 / real)

Unwarped image.

Example🔗

(HDevelop)


optical_flow_mg (Image1, Image2, VectorField, 'fdrig', 0.8, 1, 20, \
                 5, 'default_parameters', 'accurate')
unwarp_image_vector_field (Image2, VectorField, ImageUnwarped)

Result🔗

If the parameter values are correct, the operator unwarp_image_vector_fieldUnwarpImageVectorField returns the value 2 (H_MSG_TRUE). If the input is empty (no input images are available) the behavior can be set via set_system('no_object_result',<Result>). If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

optical_flow_mgOpticalFlowMg

Module🔗

Foundation