create_ocv_projT_create_ocv_projCreateOcvProjCreateOcvProjcreate_ocv_proj创建光学字符验证投影(算子)
名称
create_ocv_projT_create_ocv_projCreateOcvProjCreateOcvProjcreate_ocv_proj — 基于灰度值投影创建新的 OCV 工具。
签名
def create_ocv_proj(pattern_names: MaybeSequence[str]) -> HHandle
描述
create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj 创建一个新的 OCV 工具。该工具将用于训练光学字符验证所需的良好模式。训练过程通过 traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProjtraind_ocv_proj 算子完成。因此通常在 create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj 之后调用 traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProjtraind_ocv_proj。
模式比对基于灰度投影:针对每个训练模式,通过计算模式区域内行与列方向的灰度值总和,分别生成水平与垂直灰度投影。此运算同时应用于训练模式与测试模式。训练模式的投影结果将存储于 OCV 工具中,以提升模式比对时的运行效率。OCV 通过比对对应投影实现,质量值即为投影间的相似度。
create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj 的输入参数是待训练的模式名称(PatternNamesPatternNamesPatternNamesPatternNamespatternNamespattern_names)。模式数量和名称可任意设定。多数情况下仅训练单一模式,因此只需指定一个名称。这些名称将在执行OCV(do_ocv_simpledo_ocv_simpleDoOcvSimpleDoOcvSimpleDoOcvSimpledo_ocv_simple)时使用。可预先指定多于当前使用的名称,以便后续训练。
要关闭 OCV 工具,即释放内存,需调用 close_ocvclose_ocvCloseOcvCloseOcvCloseOcvclose_ocv 算子。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。
参数
PatternNamesPatternNamesPatternNamesPatternNamespatternNamespattern_names (输入控制) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
待训练模式的名称列表。
默认值:
'a'
"a"
"a"
"a"
"a"
"a"
OCVHandleOCVHandleOCVHandleOCVHandleOCVHandleocvhandle (输出控制) ocv → HOCV, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
创建的 OCV 工具的句柄。
示例 (C++ (HALCON 5.0-10.0))
create_ocv_proj("A",&ocv_handle);
draw_region(&ROI,window_handle);
reduce_domain(Image,ROI,&Sample);
traind_ocv_proj(Sample,ocv_handle,"A","single");
结果
create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj 返回 2 (H_MSG_TRUE),如果参数正确。否则,将抛出异常。
可能的后继
traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProjtraind_ocv_proj,
write_ocvwrite_ocvWriteOcvWriteOcvWriteOcvwrite_ocv,
close_ocvclose_ocvCloseOcvCloseOcvCloseOcvclose_ocv
替代
read_ocvread_ocvReadOcvReadOcvReadOcvread_ocv
另见
create_ocr_class_boxcreate_ocr_class_boxCreateOcrClassBoxCreateOcrClassBoxCreateOcrClassBoxcreate_ocr_class_box
模块
光学字符识别/光学字符验证