Skip to content

get_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPointsget_descriptor_model_pointsT_get_descriptor_model_points🔗

Short description🔗

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

Signature🔗

get_descriptor_model_points( descriptor_model ModelID, string Set, integer Subset, out point.y Row, out point.x Column )void GetDescriptorModelPoints( const HTuple& ModelID, const HTuple& Set, const HTuple& Subset, HTuple* Row, HTuple* Column )static void HOperatorSet.GetDescriptorModelPoints( HTuple modelID, HTuple set, HTuple 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]]]

Herror T_get_descriptor_model_points( 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)

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 )

Description🔗

With the operator get_descriptor_model_pointsGetDescriptorModelPoints interest points of the descriptor model or the last processed search image can be queried. It requires a ModelIDmodelIDmodel_id returned by create_uncalib_descriptor_modelCreateUncalibDescriptorModel, create_calib_descriptor_modelCreateCalibDescriptorModel, or read_descriptor_modelReadDescriptorModel.

The interest points stored in the model can always be queried by setting Setsetset to 'model'"model" and Subsetsubsetsubset to 'all'"all". If a find_uncalib_descriptor_modelFindUncalibDescriptorModel or find_calib_descriptor_modelFindCalibDescriptorModel precedes, with get_descriptor_model_pointsGetDescriptorModelPoints the interest points of the last search image can be queried as well by setting Setsetset to 'search'"search" and Subsetsubsetsubset to 'all'"all". Additionally, the matched (corresponding) points for each object instance found can be queried by setting Setsetset to 'model'"model" or 'search'"search" (for the correspondences on the model or search image side, respectively) and Subsetsubsetsubset to the result number of the instance. The image coordinates of the queried points are returned in Rowrowrow and Columncolumncolumn.

Execution information🔗

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🔗

ModelIDmodelIDmodel_id (input_control) descriptor_model → (handle)HTuple (HHandle)HDescriptorModel, HTuple (IntPtr)HHandleHtuple (handle)

The handle to the descriptor model.

Setsetset (input_control) string → (string)HTuple (HString)HTuple (string)strHtuple (char*)

Set of interest points.

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

Subsetsubsetsubset (input_control) integer → (integer / string)HTuple (Hlong / HString)HTuple (int / long / string)Union[int, str]Htuple (Hlong / char*)

Subset of interest points.

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

Rowrowrow (output_control) point.y-array → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Row coordinates of interest points.

Columncolumncolumn (output_control) point.x-array → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (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

Combinations with other operators🔗

Combinations

Possible predecessors

create_uncalib_descriptor_modelCreateUncalibDescriptorModel, create_calib_descriptor_modelCreateCalibDescriptorModel, find_uncalib_descriptor_modelFindUncalibDescriptorModel, find_calib_descriptor_modelFindCalibDescriptorModel, read_descriptor_modelReadDescriptorModel

See also

create_uncalib_descriptor_modelCreateUncalibDescriptorModel, create_calib_descriptor_modelCreateCalibDescriptorModel

Module🔗

Matching