Operator Reference

get_descriptor_model_pointsT_get_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPointsget_descriptor_model_points (Operator)

get_descriptor_model_pointsT_get_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPointsget_descriptor_model_points — Query the interest points of the descriptor model or the last processed search image.

Signature

get_descriptor_model_points( : : ModelID, Set, Subset : Row, Column)

Herror T_get_descriptor_model_points(const Htuple ModelID, const Htuple Set, const Htuple Subset, Htuple* Row, Htuple* Column)

void GetDescriptorModelPoints(const HTuple& ModelID, const HTuple& Set, const HTuple& Subset, HTuple* Row, HTuple* Column)

void HDescriptorModel::GetDescriptorModelPoints(const HString& Set, const HTuple& Subset, HTuple* Row, HTuple* Column) const

void HDescriptorModel::GetDescriptorModelPoints(const HString& Set, Hlong Subset, HTuple* Row, HTuple* Column) const

void HDescriptorModel::GetDescriptorModelPoints(const char* Set, Hlong Subset, HTuple* Row, HTuple* Column) const

void HDescriptorModel::GetDescriptorModelPoints(const wchar_t* Set, Hlong Subset, HTuple* Row, HTuple* Column) const   ( Windows only)

static void HOperatorSet.GetDescriptorModelPoints(HTuple modelID, HTuple set, HTuple subset, out HTuple row, out HTuple column)

void HDescriptorModel.GetDescriptorModelPoints(string set, HTuple subset, out HTuple row, out HTuple column)

void HDescriptorModel.GetDescriptorModelPoints(string set, int subset, out HTuple row, out HTuple column)

def get_descriptor_model_points(model_id: HHandle, set: str, subset: Union[int, str]) -> Tuple[Sequence[Union[float, int]], Sequence[Union[float, int]]]

Description

With the operator get_descriptor_model_pointsget_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPointsget_descriptor_model_points interest points of the descriptor model or the last processed search image can be queried. It requires a ModelIDModelIDModelIDmodelIDmodel_id returned by create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModelcreate_uncalib_descriptor_model, create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModelcreate_calib_descriptor_model, or read_descriptor_modelread_descriptor_modelReadDescriptorModelReadDescriptorModelread_descriptor_model.

The interest points stored in the model can always be queried by setting SetSetSetsetset to 'model'"model""model""model""model" and SubsetSubsetSubsetsubsetsubset to 'all'"all""all""all""all". If a find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModelfind_uncalib_descriptor_model or find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModelfind_calib_descriptor_model precedes, with get_descriptor_model_pointsget_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPointsget_descriptor_model_points the interest points of the last search image can be queried as well by setting SetSetSetsetset to 'search'"search""search""search""search" and SubsetSubsetSubsetsubsetsubset to 'all'"all""all""all""all". Additionally, the matched (corresponding) points for each object instance found can be queried by setting SetSetSetsetset to 'model'"model""model""model""model" or 'search'"search""search""search""search" (for the correspondences on the model or search image side, respectively) and SubsetSubsetSubsetsubsetsubset to the result number of the instance. The image coordinates of the queried points are returned in RowRowRowrowrow and ColumnColumnColumncolumncolumn.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

ModelIDModelIDModelIDmodelIDmodel_id (input_control)  descriptor_model HDescriptorModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

The handle to the descriptor model.

SetSetSetsetset (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Set of interest points.

Default: 'model' "model" "model" "model" "model"

List of values: 'model'"model""model""model""model", 'search'"search""search""search""search"

SubsetSubsetSubsetsubsetsubset (input_control)  integer HTupleUnion[int, str]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Subset of interest points.

Default: 'all' "all" "all" "all" "all"

Suggested values: 'all'"all""all""all""all", 0, 1, 2

RowRowRowrowrow (output_control)  point.y-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinates of interest points.

ColumnColumnColumncolumncolumn (output_control)  point.x-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinates of interest points.

Example (HDevelop)

create_uncalib_descriptor_model (Template,'harris',[],[],[],[],42, \
                                 ModelID)
* Model points can be queried from a model, even if just created
get_descriptor_model_points (ModelID,'model','all',ModelRow,ModelColumn)
find_uncalib_descriptor_model (Image,ModelID,[],[],[],[],0.2,1, \
                               'num_points',HomMat2D,Score)
* Search points can be queried only after a
* find_[un]calib_descriptor_model was executed
get_descriptor_model_points (ModelID,'search','all',SearchRow,SearchColumn)
* Additionally, correspondences for the results can be queried
NumObjects := |HomMat2D|/9
for I := 0 to NumObjects-1 by 1
    * Query corresponding points in the model
    get_descriptor_model_points (ModelID,'model',I, \
                                 CorrModelRow,CorrModelColumn)
    * Query corresponding points in the search image
    get_descriptor_model_points (ModelID,'search',I, \
                                 CorrSearchRow,CorrSearchColumn)
    * Those points are typically for visualizational purposes
    gen_cross_contour_xld (CrossModel,CorrModelRow,CorrModelColumn, \
                           6,0.78)
    gen_cross_contour_xld (CrossSearch,CorrSearchRow,CorrSearchColumn, \
                           6,0.78)

    * ....

endfor

Possible Predecessors

create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModelcreate_uncalib_descriptor_model, create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModelcreate_calib_descriptor_model, find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModelfind_uncalib_descriptor_model, find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModelfind_calib_descriptor_model, read_descriptor_modelread_descriptor_modelReadDescriptorModelReadDescriptorModelread_descriptor_model

See also

create_uncalib_descriptor_modelcreate_uncalib_descriptor_modelCreateUncalibDescriptorModelCreateUncalibDescriptorModelcreate_uncalib_descriptor_model, create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModelcreate_calib_descriptor_model

Module

Matching