get_component_relationsT_get_component_relationsGetComponentRelationsGetComponentRelationsget_component_relations (算子)
名称
get_component_relationsT_get_component_relationsGetComponentRelationsGetComponentRelationsget_component_relations — 返回训练结果中包含的模型组件之间的关系。
签名
Herror T_get_component_relations(Hobject* Relations, const Htuple ComponentTrainingID, const Htuple ReferenceComponent, const Htuple Image, Htuple* Row, Htuple* Column, Htuple* Phi, Htuple* Length1, Htuple* Length2, Htuple* AngleStart, Htuple* AngleExtent)
void GetComponentRelations(HObject* Relations, const HTuple& ComponentTrainingID, const HTuple& ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent)
HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const HTuple& Image, HTuple* Row, HTuple* Column, HTuple* Phi, HTuple* Length1, HTuple* Length2, HTuple* AngleStart, HTuple* AngleExtent) const
HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const HString& Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent) const
HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const char* Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent) const
HRegion HComponentTraining::GetComponentRelations(Hlong ReferenceComponent, const wchar_t* Image, double* Row, double* Column, double* Phi, double* Length1, double* Length2, double* AngleStart, double* AngleExtent) const
(
Windows only)
static void HOperatorSet.GetComponentRelations(out HObject relations, HTuple componentTrainingID, HTuple referenceComponent, HTuple image, out HTuple row, out HTuple column, out HTuple phi, out HTuple length1, out HTuple length2, out HTuple angleStart, out HTuple angleExtent)
HRegion HComponentTraining.GetComponentRelations(int referenceComponent, HTuple image, out HTuple row, out HTuple column, out HTuple phi, out HTuple length1, out HTuple length2, out HTuple angleStart, out HTuple angleExtent)
HRegion HComponentTraining.GetComponentRelations(int referenceComponent, string image, out double row, out double column, out double phi, out double length1, out double length2, out double angleStart, out double angleExtent)
def get_component_relations(component_training_id: HHandle, reference_component: int, image: Union[str, int]) -> Tuple[HObject, Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
def get_component_relations_s(component_training_id: HHandle, reference_component: int, image: Union[str, int]) -> Tuple[HObject, float, float, float, float, float, float, float]
描述
get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations returns the relations between model
components after training them with train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components。With the parameter ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component, you can select a
reference component. get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations then returns
the relations between the reference component and all other components
in the model image (if ImageImageImageImageimageimage = 'model_image'"model_image""model_image""model_image""model_image""model_image" or
ImageImageImageImageimageimage = 0) or in a training image (if
ImageImageImageImageimageimage >= 1). In order to obtain the
relations in the ith training image, ImageImageImageImageimageimage must be
set to i. The result of the training returned by
train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components must be passed in
ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingIDcomponent_training_id. ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component describes
the index of the reference component and must be within the range of
0 and n-1, if n is the number of model components
(see train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components).
The relations are returned in form of regions in RelationsRelationsRelationsRelationsrelationsrelations
as well as in form of numerical values in RowRowRowRowrowrow,
ColumnColumnColumnColumncolumncolumn, PhiPhiPhiPhiphiphi, Length1Length1Length1Length1length1length_1, Length2Length2Length2Length2length2length_2,
AngleStartAngleStartAngleStartAngleStartangleStartangle_start, and AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent。
The region object tuple RelationsRelationsRelationsRelationsrelationsrelations is designed as
follows. For each component a separate region is
returned. Consequently, RelationsRelationsRelationsRelationsrelationsrelations contains n
regions, where the order of the regions within the tuple is
determined by the index of the corresponding components. The
positions of all components in the image are represented by circles
with a radius of 3 pixels. For each component other than the
reference component ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component, additionally the
position relation and the orientation relation relative to the
reference component are represented. The position relation is
represented by a rectangle and the orientation relation is represented
by a circle sector with a radius of 30 pixels. The center of the
circle is placed at the mean relative position of the component. The
rectangle describes the movement of the reference point of the
respective component relative to the pose of the reference
component, while the circle sector describes the variation of the
relative orientation (see train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components). A
relative orientation of 0 corresponds to the relative orientation of
both components in the model image. If both components appear in the
same relative orientation in all images, the circle sector
consequently degenerates to a straight line.
In addition to the region object tuple RelationsRelationsRelationsRelationsrelationsrelations, the
relations are also returned in form of numerical values in
RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn, PhiPhiPhiPhiphiphi, Length1Length1Length1Length1length1length_1,
Length2Length2Length2Length2length2length_2, AngleStartAngleStartAngleStartAngleStartangleStartangle_start, and
AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent. These parameters are tuples of length n
and contain the relations of all components relative to the
reference component, where the order of the values within the tuples
is determined by the index of the corresponding component. The
position relation is described by the parameters of the corresponding
rectangle RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn, PhiPhiPhiPhiphiphi,
Length1Length1Length1Length1length1length_1, and Length2Length2Length2Length2length2length_2 (see
gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2). The orientation relation is described by
the starting angle AngleStartAngleStartAngleStartAngleStartangleStartangle_start and the angle extent
AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent. For the reference component only the position
within the image is returned in RowRowRowRowrowrow and
ColumnColumnColumnColumncolumncolumn. All other values are set to 0.
If the reference component has not been found in the current image,
an array of empty regions is returned and the corresponding parameter
values are set to 0.
算子 get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations is particularly useful
in order to visualize the result of the training that was performed
with train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components。With this, it is possible to
evaluate the variations that are contained in the training
images. Sometimes it might be reasonable to restart the training
with train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components while using a different set of
training images.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
RelationsRelationsRelationsRelationsrelationsrelations (输出对象) region(-array) → objectHRegionHObjectHRegionHobject *
Region representation of the relations.
ComponentTrainingIDComponentTrainingIDComponentTrainingIDComponentTrainingIDcomponentTrainingIDcomponent_training_id (输入控制) component_training → HComponentTraining, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the training result.
ReferenceComponentReferenceComponentReferenceComponentReferenceComponentreferenceComponentreference_component (输入控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of reference component.
限制:
ReferenceComponent >= 0
ImageImageImageImageimageimage (输入控制) string → HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Image for which the component relations are to be
returned.
默认值:
'model_image'
"model_image"
"model_image"
"model_image"
"model_image"
"model_image"
建议值:
'model_image'"model_image""model_image""model_image""model_image""model_image", 0, 1, 2, 3, 4, 5, 6, 7, 8
RowRowRowRowrowrow (输出控制) rectangle2.center.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinate of the center of the rectangle
representing the relation.
ColumnColumnColumnColumncolumncolumn (输出控制) rectangle2.center.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column index of the center of the rectangle
representing the relation.
PhiPhiPhiPhiphiphi (输出控制) rectangle2.angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Orientation of the rectangle representing
the relation (radians).
Assertion:
- pi / 2 < Phi && Phi <= pi / 2
Length1Length1Length1Length1length1length_1 (输出控制) rectangle2.hwidth(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
First radius (half length) of the rectangle
representing the relation.
Assertion:
Length1 >= 0.0
Length2Length2Length2Length2length2length_2 (输出控制) rectangle2.hheight(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Second radius (half width) of the rectangle
representing the relation.
Assertion:
Length2 >= 0.0 && Length2 <= Length1
AngleStartAngleStartAngleStartAngleStartangleStartangle_start (输出控制) angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Smallest relative orientation angle.
AngleExtentAngleExtentAngleExtentAngleExtentangleExtentangle_extent (输出控制) angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Extent of the relative orientation angles.
结果
If the handle of the training result is valid, the operator
get_component_relationsget_component_relationsGetComponentRelationsGetComponentRelationsGetComponentRelationsget_component_relations 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
可能的后继
train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentsTrainModelComponentstrain_model_components
另见
gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2
模块
匹配