create_ocv_projT_create_ocv_projCreateOcvProjCreateOcvProjcreate_ocv_proj (Operator)


create_ocv_projT_create_ocv_projCreateOcvProjCreateOcvProjcreate_ocv_proj — Create a new OCV tool based on gray value projections.


create_ocv_proj( : : PatternNames : OCVHandle)

Herror T_create_ocv_proj(const Htuple PatternNames, Htuple* OCVHandle)

void CreateOcvProj(const HTuple& PatternNames, HTuple* OCVHandle)

void HOCV::HOCV(const HTuple& PatternNames)

void HOCV::CreateOcvProj(const HTuple& PatternNames)

void HOCV::CreateOcvProj(const HString& PatternNames)

void HOCV::CreateOcvProj(const char* PatternNames)

void HOCV::CreateOcvProj(const wchar_t* PatternNames)   (Windows only)

static void HOperatorSet.CreateOcvProj(HTuple patternNames, out HTuple OCVHandle)

public HOCV(HTuple patternNames)

void HOCV.CreateOcvProj(HTuple patternNames)

void HOCV.CreateOcvProj(string patternNames)

def create_ocv_proj(pattern_names: MaybeSequence[str]) -> HHandle


create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj creates a new OCV tool. This tool will be used to train good-patterns for the optical character verification. The training is done using the operator traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProjtraind_ocv_proj. Thus traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProjtraind_ocv_proj is normally called after create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj.

The pattern comparison is based on the gray projections: For every training pattern the horizontal and vertical gray projections are calculated by summing up the gray values along the rows and columns inside the region of the pattern. This operation is applied to the training patterns and the test patterns. For the training patterns the result is stored inside the OCV tool to save runtime while comparing patterns. The OCV is done by comparing the corresponding projections. The Quality is the similarity of the projections.

Input for create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj are the names of the patterns (PatternNamesPatternNamesPatternNamesPatternNamespatternNamespattern_names) which have to be trained. The number and the names can be chosen arbitrary. In most case only one pattern will be trained, thus only one name has to be specified. The names will be used when doing the OCV (do_ocv_simpledo_ocv_simpleDoOcvSimpleDoOcvSimpleDoOcvSimpledo_ocv_simple). It is possible to specify more names than actually used. These might be trained later.

To close the OCV tool, i.e. to free the memory, the operator close_ocvclose_ocvCloseOcvCloseOcvCloseOcvclose_ocv is called.

Execution Information

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.


PatternNamesPatternNamesPatternNamesPatternNamespatternNamespattern_names (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

List of names for patterns to be trained.

Default value: 'a' "a" "a" "a" "a" "a"

OCVHandleOCVHandleOCVHandleOCVHandleOCVHandleocvhandle (output_control)  ocv HOCV, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the created OCV tool.

Example (C++ (HALCON 5.0-10.0))



create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProjcreate_ocv_proj returns 2 (H_MSG_TRUE), if the parameters are correct. Otherwise, an exception is raised.

Possible Successors

traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProjtraind_ocv_proj, write_ocvwrite_ocvWriteOcvWriteOcvWriteOcvwrite_ocv, close_ocvclose_ocvCloseOcvCloseOcvCloseOcvclose_ocv



See also