ClassesClasses | | Operators

create_ocv_projT_create_ocv_projCreateOcvProjCreateOcvProj (Operator)


create_ocv_projT_create_ocv_projCreateOcvProjCreateOcvProj — 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)

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

public HOCV(HTuple patternNames)

void HOCV.CreateOcvProj(HTuple patternNames)

void HOCV.CreateOcvProj(string patternNames)


create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProj 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_projTraindOcvProjTraindOcvProjTraindOcvProj. Thus traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProj is normally called after create_ocv_projcreate_ocv_projCreateOcvProjCreateOcvProjCreateOcvProj.

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_projCreateOcvProjCreateOcvProjCreateOcvProj are the names of the patterns (PatternNamesPatternNamesPatternNamesPatternNamespatternNames) 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_simpleDoOcvSimpleDoOcvSimpleDoOcvSimple). 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_ocvCloseOcvCloseOcvCloseOcv 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.


PatternNamesPatternNamesPatternNamesPatternNamespatternNames (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

List of names for patterns to be trained.

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

OCVHandleOCVHandleOCVHandleOCVHandleOCVHandle (output_control)  ocv HOCV, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the created OCV tool.

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



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

Possible Successors

traind_ocv_projtraind_ocv_projTraindOcvProjTraindOcvProjTraindOcvProj, write_ocvwrite_ocvWriteOcvWriteOcvWriteOcv, close_ocvclose_ocvCloseOcvCloseOcvCloseOcv



See also




ClassesClasses | | Operators