find_generic_shape_model T_find_generic_shape_model FindGenericShapeModel FindGenericShapeModel find_generic_shape_model (算子)
名称
find_generic_shape_model T_find_generic_shape_model FindGenericShapeModel FindGenericShapeModel find_generic_shape_model — 在图像中查找一个或多个形状模型的最佳匹配。
签名
void FindGenericShapeModel (const HObject& SearchImage , const HTuple& ModelID , HTuple* MatchResultID , HTuple* NumMatchResult )
static HGenericShapeModelResult HShapeModel ::FindGenericShapeModel (const HObject& SearchImage , const HShapeModelArray& ModelID , Hlong* NumMatchResult )
HGenericShapeModelResult HShapeModel ::FindGenericShapeModel (const HObject& SearchImage , Hlong* NumMatchResult ) const
Hlong HGenericShapeModelResult ::FindGenericShapeModel (const HObject& SearchImage , const HShapeModelArray& ModelID )
Hlong HGenericShapeModelResult ::FindGenericShapeModel (const HObject& SearchImage , const HShapeModel& ModelID )
HGenericShapeModelResult HImage ::FindGenericShapeModel (const HShapeModelArray& ModelID , Hlong* NumMatchResult ) const
HGenericShapeModelResult HImage ::FindGenericShapeModel (const HShapeModel& ModelID , Hlong* NumMatchResult ) const
static void HOperatorSet .FindGenericShapeModel (HObject searchImage , HTuple modelID , out HTuple matchResultID , out HTuple numMatchResult )
static HGenericShapeModelResult HShapeModel .FindGenericShapeModel (HObject searchImage , HShapeModel[] modelID , out int numMatchResult )
HGenericShapeModelResult HShapeModel .FindGenericShapeModel (HObject searchImage , out int numMatchResult )
int HGenericShapeModelResult .FindGenericShapeModel (HObject searchImage , HShapeModel[] modelID )
int HGenericShapeModelResult .FindGenericShapeModel (HObject searchImage , HShapeModel modelID )
HGenericShapeModelResult HImage .FindGenericShapeModel (HShapeModel[] modelID , out int numMatchResult )
HGenericShapeModelResult HImage .FindGenericShapeModel (HShapeModel modelID , out int numMatchResult )
def find_generic_shape_model (search_image : HObject, model_id : MaybeSequence[HHandle]) -> Tuple[HHandle, int]
描述
算子 find_generic_shape_model find_generic_shape_model FindGenericShapeModel FindGenericShapeModel FindGenericShapeModel find_generic_shape_model finds the best instances of
one or multiple shape models passed in ModelID ModelID ModelID ModelID modelID model_id in the input image
SearchImage SearchImage SearchImage SearchImage searchImage search_image . The found matches are returned in
MatchResultID MatchResultID MatchResultID MatchResultID matchResultID match_result_id and can be queried using
get_generic_shape_model_result get_generic_shape_model_result GetGenericShapeModelResult GetGenericShapeModelResult GetGenericShapeModelResult get_generic_shape_model_result and
get_generic_shape_model_result_object get_generic_shape_model_result_object GetGenericShapeModelResultObject GetGenericShapeModelResultObject GetGenericShapeModelResultObject get_generic_shape_model_result_object 。The number of found matches
is returned in NumMatchResult NumMatchResult NumMatchResult NumMatchResult numMatchResult num_match_result . The model can be parameterized using
set_generic_shape_model_param set_generic_shape_model_param SetGenericShapeModelParam SetGenericShapeModelParam SetGenericShapeModelParam set_generic_shape_model_param and
set_generic_shape_model_object set_generic_shape_model_object SetGenericShapeModelObject SetGenericShapeModelObject SetGenericShapeModelObject set_generic_shape_model_object , through which one can control
the search.
The domain of the input image SearchImage SearchImage SearchImage SearchImage searchImage search_image sets the ROI for the
search. It limits the search space as it is considered as boundary for the
center of gravity of ModelID ModelID ModelID ModelID modelID model_id in order to accelerate the matching
process. For information on passing a tuple of images to
SearchImage SearchImage SearchImage SearchImage searchImage search_image see below.
Furthermore, the search space is limited by the size of SearchImage SearchImage SearchImage SearchImage searchImage search_image .
By default, ModelID ModelID ModelID ModelID modelID model_id is only searched within those points of the
domain, in which ModelID ModelID ModelID ModelID modelID model_id fits completely. Hence, ModelID ModelID ModelID ModelID modelID model_id
will not be found if it exceeds the border of the image. This holds
for all levels of the used image pyramid.
In rare cases which typically occur for artificial images, instances of
ModelID ModelID ModelID ModelID modelID model_id cannot be found in an image, if they touch the border of the
domain on any level of the image pyramid.
As a rule of thumb, ModelID ModelID ModelID ModelID modelID model_id might not be found if its distance to
an image border is smaller than
pixels (where
is the number of pyramid levels).
This behavior can be changed with 'border_shape_models' "border_shape_models" "border_shape_models" "border_shape_models" "border_shape_models" "border_shape_models" , see
set_generic_shape_model_param set_generic_shape_model_param SetGenericShapeModelParam SetGenericShapeModelParam SetGenericShapeModelParam set_generic_shape_model_param 。
When searching multiple models, the search space can be restricted for all
models simultaneously by passing a single image with reduced domain in
SearchImage SearchImage SearchImage SearchImage searchImage search_image 。
Alternatively, the search space can be restricted for each model
individually by passing an object containing multiple image objects, one for
each model in ModelID ModelID ModelID ModelID modelID model_id .
The search space is determined by the domain of the corresponding image.
Except the domain, the images have to be identical, i.e.,
the pointers of the image objects need to refer to the same
image (thus they need to be identical).
The pointers can be checked using get_image_pointer1 get_image_pointer1 GetImagePointer1 GetImagePointer1 GetImagePointer1 get_image_pointer1 。
When applying multiple models, different identifiers
('model_identifier' "model_identifier" "model_identifier" "model_identifier" "model_identifier" "model_identifier" ) have to be set for each model,
so that each instance can be assigned to the shape model it has
been found with.否则将抛出异常。
执行信息
多线程类型:可重入(与非独占算子并行运行)。
多线程作用域:全局(可从任何线程调用)。
在内部数据级别上自动并行化。
此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。
此算子支持取消超时和中断。
此算子修改后续输入参数的状态:
在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。
参数
SearchImage SearchImage SearchImage SearchImage searchImage search_image (输入对象) (multichannel-)object(-array) → object HObject HObject HObject Hobject
Image in which the model is searched.
ModelID ModelID ModelID ModelID modelID model_id (输入控制,状态被修改) shape_model(-array) → HShapeModel , HTuple MaybeSequence[HHandle] HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
形状模型的句柄。
MatchResultID MatchResultID MatchResultID MatchResultID matchResultID match_result_id (输出控制) generic_shape_model_result → HGenericShapeModelResult , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle with the found matches.
NumMatchResult NumMatchResult NumMatchResult NumMatchResult numMatchResult num_match_result (输出控制) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Number of found matches.
结果
如果参数有效,算子
find_generic_shape_model find_generic_shape_model FindGenericShapeModel FindGenericShapeModel FindGenericShapeModel find_generic_shape_model 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
train_generic_shape_model train_generic_shape_model TrainGenericShapeModel TrainGenericShapeModel TrainGenericShapeModel train_generic_shape_model ,
set_generic_shape_model_param set_generic_shape_model_param SetGenericShapeModelParam SetGenericShapeModelParam SetGenericShapeModelParam set_generic_shape_model_param
模块
匹配