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
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