compare_variation_model ( Image : Region : ModelID : )

Compare an image to a variation model.

compare_variation_model compares the input image Image to the variation model given by ModelID. Before compare_variation_model can be called, the two internal threshold images of the variation model must have been created with prepare_variation_model. Let c(x,y) denote the input image Image and t{u,l} denote the two threshold images (see prepare_variation_model). Then the output region Region contains all points that differ substantially from the model, i.e., the points that fulfill the following condition:

  c(x,y) > t{u}(x,y) or c(x,y) < t{l}(x,y) .


Parameters

Image (input_object)
image(-array) -> object : byte / int2 / uint2
Image of the object to be trained.

Region (output_object)
region(-array) -> object
Region containing the points that differ substantially from the model.

ModelID (input_control)
variation_model -> integer
ID of the variation model.


Example
open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1,
                   'default', -1, 'default', 'model.seq', 'default',
                   -1, -1, FGHandle)
read_region (Region, 'model.reg')
area_center (Region, Area, RowRef, ColumnRef)
read_shape_model ('model.shape', TemplateID)
read_variation_model ('model.var', ModelID)
for K := 1 to 10000 by 1
    grab_image (Image, FGHandle)
    find_shape_model (Image, TemplateID, 0, rad(360), 0.5, 1, 0.5,
                      'true', 4, 0.9, Row, Column, Angle, Score)
    disp_obj (Image, WindowHandle)
    if (|Score| = 1)
        vector_angle_to_rigid (Row, Column, Angle, RowRef,
                               ColumnRef, 0, HomMat2D)
        affine_trans_image (Image, ImageTrans, HomMat2D, 'constant',
                            'false')
        compare_variation_model (ImageTrans, RegionDiff, ModelID)
        disp_obj (RegionDiff, WindowHandle)
    endif
endfor
clear_shape_model (TemplateID)
clear_variation_model (ModelID)
close_framegrabber (FGHandle)

Result

compare_variation_model returns 2 (H_MSG_TRUE) if all parameters are correct and if the internal threshold images have been generated with prepare_variation_model.


Parallelization Information

compare_variation_model is reentrant and automatically parallelized (on tuple level, domain level).


Possible Predecessors

prepare_variation_model


Alternatives

dyn_threshold


Module

Image / region / XLD management



Copyright © 1996-2005 MVTec Software GmbH