ClassesClassesClassesClasses | | | | Operators

discrete_1d_bar_codeT_discrete_1d_bar_codeDiscrete1dBarCodediscrete_1d_bar_codeDiscrete1dBarCodeDiscrete1dBarCode (Operator)

Name

discrete_1d_bar_codeT_discrete_1d_bar_codeDiscrete1dBarCodediscrete_1d_bar_codeDiscrete1dBarCodeDiscrete1dBarCode — Generate a discrete bar code from the elements widths.

Warning

discrete_1d_bar_codediscrete_1d_bar_codeDiscrete1dBarCodediscrete_1d_bar_codeDiscrete1dBarCodeDiscrete1dBarCode is obsolete and is only provided for reasons of backward compatibility. New applications for reading bar codes should use the functionalities in the chapter Identification / Bar Code instead.

Signature

discrete_1d_bar_code( : : Elements, BarCodeDescr : DiscreteBarCode)

Herror T_discrete_1d_bar_code(const Htuple Elements, const Htuple BarCodeDescr, Htuple* DiscreteBarCode)

Herror discrete_1d_bar_code(const HTuple& Elements, const HTuple& BarCodeDescr, HTuple* DiscreteBarCode)

HTuple HBarCode1D::Discrete1dBarCode(const HTuple& Elements) const

void Discrete1dBarCode(const HTuple& Elements, const HTuple& BarCodeDescr, HTuple* DiscreteBarCode)

void HOperatorSetX.Discrete1dBarCode(
[in] VARIANT Elements, [in] VARIANT BarCodeDescr, [out] VARIANT* DiscreteBarCode)

VARIANT HBarCode1DX.Discrete1dBarCode(
[in] VARIANT Elements, [in] VARIANT BarCodeDescr)

static void HOperatorSet.Discrete1dBarCode(HTuple elements, HTuple barCodeDescr, out HTuple discreteBarCode)

Description

discrete_1d_bar_codediscrete_1d_bar_codeDiscrete1dBarCodediscrete_1d_bar_codeDiscrete1dBarCodeDiscrete1dBarCode converts the list of element widths (output from find_1d_bar_codefind_1d_bar_codeFind1dBarCodefind_1d_bar_codeFind1dBarCodeFind1dBarCode or get_1d_bar_codeget_1d_bar_codeGet1dBarCodeget_1d_bar_codeGet1dBarCodeGet1dBarCode) into a discrete bar code. Thus every element is then represented by its number of modules (1,2,..) and no longer as its width in pixels.

This operator is used if the bar code type is not available so that decode_1d_bar_codedecode_1d_bar_codeDecode1dBarCodedecode_1d_bar_codeDecode1dBarCodeDecode1dBarCode cannot be applied, thus the user wants to find the bar code with the help of HALCON operators and then himself decode the bar code. To create the bar code description the operator gen_1d_bar_code_descr_gengen_1d_bar_code_descr_genGen1dBarCodeDescrGengen_1d_bar_code_descr_genGen1dBarCodeDescrGenGen1dBarCodeDescrGen is used and with find_1d_bar_codefind_1d_bar_codeFind1dBarCodefind_1d_bar_codeFind1dBarCodeFind1dBarCode the element widths are extracted. Then discrete_1d_bar_codediscrete_1d_bar_codeDiscrete1dBarCodediscrete_1d_bar_codeDiscrete1dBarCodeDiscrete1dBarCode is used to create the list of the multiple of the modules.

Parallelization

Parameters

ElementsElementsElementsElementsElementselements (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

List of elements widths of the bar code.

BarCodeDescrBarCodeDescrBarCodeDescrBarCodeDescrBarCodeDescrbarCodeDescr (input_control)  barcode_1d HTupleHTupleHBarCode1D, HTupleHBarCode1DX, VARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Description of a bar code class.

DiscreteBarCodeDiscreteBarCodeDiscreteBarCodeDiscreteBarCodeDiscreteBarCodediscreteBarCode (output_control)  number-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Widths of elements as multiple of modules.

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

HTuple   empty;   // empty list of values
HTuple   BarCodeDescr;
HTuple   BarcodeFound,Elements,Orientation;
HTuple   DiscreteBarCode;
Hobject  Image,CodeRegion;

gen_1d_bar_code_descr_gen(20,40,2,empty,empty,-1.0,"false",&BarCodeDescr);
find_1d_bar_code(Image,&CodeRegion,BarCodeDescr,empty,empty,
                 &BarcodeFound,&Elements,&Orientation);
if (BarcodeFound[0].l)
{
  discrete_1d_bar_code(Elements,BarCodeDescr,&DiscreteBarCode);
  for (int i=0; i<DiscreteBarCode.Num(); i++)
  {
    int NumModules = DiscreteBarCode[i];
  }
}

Result

The operator discrete_1d_bar_codediscrete_1d_bar_codeDiscrete1dBarCodediscrete_1d_bar_codeDiscrete1dBarCodeDiscrete1dBarCode returns the value 2 (H_MSG_TRUE) if the transfered bar code description is correct and the element list can be discretized.

Possible Predecessors

find_1d_bar_codefind_1d_bar_codeFind1dBarCodefind_1d_bar_codeFind1dBarCodeFind1dBarCode, get_1d_bar_codeget_1d_bar_codeGet1dBarCodeget_1d_bar_codeGet1dBarCodeGet1dBarCode

See also

decode_1d_bar_codedecode_1d_bar_codeDecode1dBarCodedecode_1d_bar_codeDecode1dBarCodeDecode1dBarCode

Module

Bar Code


ClassesClassesClassesClasses | | | | Operators