ClassesClassesClassesClasses | | | | Operators

get_1d_bar_code_scanlineT_get_1d_bar_code_scanlineGet1dBarCodeScanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineGet1dBarCodeScanline (Operator)

Name

get_1d_bar_code_scanlineT_get_1d_bar_code_scanlineGet1dBarCodeScanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineGet1dBarCodeScanline — Extract the widths of the elements inside a bar code region.

Warning

get_1d_bar_code_scanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineGet1dBarCodeScanline 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

get_1d_bar_code_scanline(BarCodeRegion : : BarCodeDescr, GenericName, GenericValue, Orientation, StopIfFound : BarCodeElements, ScanlineNumPoints, ScanlineDecoded, ScanlinePointsRow, ScanlinePointsColumn)

Herror T_get_1d_bar_code_scanline(const Hobject BarCodeRegion, const Htuple BarCodeDescr, const Htuple GenericName, const Htuple GenericValue, const Htuple Orientation, const Htuple StopIfFound, Htuple* BarCodeElements, Htuple* ScanlineNumPoints, Htuple* ScanlineDecoded, Htuple* ScanlinePointsRow, Htuple* ScanlinePointsColumn)

Herror get_1d_bar_code_scanline(Hobject BarCodeRegion, const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, const HTuple& Orientation, const HTuple& StopIfFound, HTuple* BarCodeElements, HTuple* ScanlineNumPoints, HTuple* ScanlineDecoded, HTuple* ScanlinePointsRow, HTuple* ScanlinePointsColumn)

HTuple HImage::Get1dBarCodeScanline(const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, const HTuple& Orientation, const HTuple& StopIfFound, HTuple* ScanlineNumPoints, HTuple* ScanlineDecoded, HTuple* ScanlinePointsRow, HTuple* ScanlinePointsColumn) const

HTuple HBarCode1D::Get1dBarCodeScanline(const HImage& BarCodeRegion, const HTuple& GenericName, const HTuple& GenericValue, const HTuple& Orientation, const HTuple& StopIfFound, HTuple* ScanlineNumPoints, HTuple* ScanlineDecoded, HTuple* ScanlinePointsRow, HTuple* ScanlinePointsColumn) const

void Get1dBarCodeScanline(const HObject& BarCodeRegion, const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, const HTuple& Orientation, const HTuple& StopIfFound, HTuple* BarCodeElements, HTuple* ScanlineNumPoints, HTuple* ScanlineDecoded, HTuple* ScanlinePointsRow, HTuple* ScanlinePointsColumn)

HTuple HImage::Get1dBarCodeScanline(const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, double Orientation, const HString& StopIfFound, HTuple* ScanlineNumPoints, HTuple* ScanlineDecoded, HTuple* ScanlinePointsRow, HTuple* ScanlinePointsColumn) const

HTuple HImage::Get1dBarCodeScanline(const HTuple& BarCodeDescr, const HString& GenericName, double GenericValue, double Orientation, const HString& StopIfFound, Hlong* ScanlineNumPoints, Hlong* ScanlineDecoded, double* ScanlinePointsRow, double* ScanlinePointsColumn) const

HTuple HImage::Get1dBarCodeScanline(const HTuple& BarCodeDescr, const char* GenericName, double GenericValue, double Orientation, const char* StopIfFound, Hlong* ScanlineNumPoints, Hlong* ScanlineDecoded, double* ScanlinePointsRow, double* ScanlinePointsColumn) const

void HOperatorSetX.Get1dBarCodeScanline(
[in] IHUntypedObjectX* BarCodeRegion, [in] VARIANT BarCodeDescr, [in] VARIANT GenericName, [in] VARIANT GenericValue, [in] VARIANT Orientation, [in] VARIANT StopIfFound, [out] VARIANT* BarCodeElements, [out] VARIANT* ScanlineNumPoints, [out] VARIANT* ScanlineDecoded, [out] VARIANT* ScanlinePointsRow, [out] VARIANT* ScanlinePointsColumn)

VARIANT HBarCode1DX.Get1dBarCodeScanline(
[in] IHImageX* BarCodeRegion, [in] VARIANT BarCodeDescr, [in] VARIANT GenericName, [in] VARIANT GenericValue, [in] double Orientation, [in] BSTR StopIfFound, [out] VARIANT* ScanlineNumPoints, [out] VARIANT* ScanlineDecoded, [out] VARIANT* ScanlinePointsRow, [out] VARIANT* ScanlinePointsColumn)

VARIANT HImageX.Get1dBarCodeScanline(
[in] VARIANT BarCodeDescr, [in] VARIANT GenericName, [in] VARIANT GenericValue, [in] double Orientation, [in] BSTR StopIfFound, [out] VARIANT* ScanlineNumPoints, [out] VARIANT* ScanlineDecoded, [out] VARIANT* ScanlinePointsRow, [out] VARIANT* ScanlinePointsColumn)

static void HOperatorSet.Get1dBarCodeScanline(HObject barCodeRegion, HTuple barCodeDescr, HTuple genericName, HTuple genericValue, HTuple orientation, HTuple stopIfFound, out HTuple barCodeElements, out HTuple scanlineNumPoints, out HTuple scanlineDecoded, out HTuple scanlinePointsRow, out HTuple scanlinePointsColumn)

HTuple HImage.Get1dBarCodeScanline(HTuple barCodeDescr, HTuple genericName, HTuple genericValue, double orientation, string stopIfFound, out HTuple scanlineNumPoints, out HTuple scanlineDecoded, out HTuple scanlinePointsRow, out HTuple scanlinePointsColumn)

HTuple HImage.Get1dBarCodeScanline(HTuple barCodeDescr, string genericName, double genericValue, double orientation, string stopIfFound, out int scanlineNumPoints, out int scanlineDecoded, out double scanlinePointsRow, out double scanlinePointsColumn)

Description

Like get_1d_bar_codeget_1d_bar_codeGet1dBarCodeget_1d_bar_codeGet1dBarCodeGet1dBarCode, get_1d_bar_code_scanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineGet1dBarCodeScanline extracts the widths of the elements of a bar code inside the specified region, but get_1d_bar_code_scanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineget_1d_bar_code_scanlineGet1dBarCodeScanlineGet1dBarCodeScanline also returns information about the used scanlines.

For a description of the parameters see get_1d_bar_codeget_1d_bar_codeGet1dBarCodeget_1d_bar_codeGet1dBarCodeGet1dBarCode and find_1d_bar_code_scanlinefind_1d_bar_code_scanlineFind1dBarCodeScanlinefind_1d_bar_code_scanlineFind1dBarCodeScanlineFind1dBarCodeScanline.

Parallelization

Parameters

BarCodeRegionBarCodeRegionBarCodeRegionBarCodeRegionBarCodeRegionbarCodeRegion (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Region of 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.

GenericNameGenericNameGenericNameGenericNameGenericNamegenericName (input_control)  attribute.name(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Names of optional parameters.

Default value: []

List of values: 'add_length_project'"add_length_project""add_length_project""add_length_project""add_length_project""add_length_project", 'amplitude_project'"amplitude_project""amplitude_project""amplitude_project""amplitude_project""amplitude_project", 'interpolation_project'"interpolation_project""interpolation_project""interpolation_project""interpolation_project""interpolation_project", 'max_extra_elements'"max_extra_elements""max_extra_elements""max_extra_elements""max_extra_elements""max_extra_elements", 'num_scanlines'"num_scanlines""num_scanlines""num_scanlines""num_scanlines""num_scanlines", 'sigma_project'"sigma_project""sigma_project""sigma_project""sigma_project""sigma_project", 'width_project'"width_project""width_project""width_project""width_project""width_project"

GenericValueGenericValueGenericValueGenericValueGenericValuegenericValue (input_control)  attribute.value(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Values of optional parameters.

Default value: []

OrientationOrientationOrientationOrientationOrientationorientation (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Orientation of bar code.

StopIfFoundStopIfFoundStopIfFoundStopIfFoundStopIfFoundstopIfFound (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Leave operator as soon as the bar code has been decoded?.

Default value: 'false' "false" "false" "false" "false" "false"

List of values: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

BarCodeElementsBarCodeElementsBarCodeElementsBarCodeElementsBarCodeElementsbarCodeElements (output_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Widths of elements.

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

Number of points belonging to that scanline.

ScanlineDecodedScanlineDecodedScanlineDecodedScanlineDecodedScanlineDecodedscanlineDecoded (output_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Information whether the bar code could be decoded with that scanline.

List of values: 0, 1, 2

ScanlinePointsRowScanlinePointsRowScanlinePointsRowScanlinePointsRowScanlinePointsRowscanlinePointsRow (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row - coordinates of the points of the scanline.

ScanlinePointsColumnScanlinePointsColumnScanlinePointsColumnScanlinePointsColumnScanlinePointsColumnscanlinePointsColumn (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column - coordinates of the points of the scanline.

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

HTuple   empty;   // empty list of values
HTuple   BarCodeDescr;
HTuple   Orientations, Elements;
HTuple   Characters,Reference,IsCorrect;
Hobject  Image,CodeRegions,CodeRegion,GrayRegion;
Hlong     num;
HTuple   ScanlineNumPoints, ScanlineDecoded, ScanlinePointsRow,
         ScanlinePointsColumn;
HTuple   NumScanlines, NumPoints;
HTuple   j, k, indexPoint, nStart, nEnd;
HTuple   WindowHandle;

gen_1d_bar_code_descr("code 39",4,15,&BarCodeDescr);
find_1d_bar_code_region(Image,&CodeRegion,BarCodeDescr,empty,empty,
                        &Orientations);
count_obj(CodeRegions,&num);
for (Hlong i=0; i<num; i++)
{
  select_obj(CodeRegions,&CodeRegion,i);
  reduce_domain(Image,CodeRegion,GrayRegion)\:
  get_1d_bar_code_scanlines(GrayRegion,BarCodeDescr,empty,empty,
                            Orientations[i],"false",&Elements,
                            &ScanlineNumPoints,&ScanlineDecoded,
                            &ScanlinePointsRow,&ScanlinePointsColumn);
  decode_1d_bar_code(Elements,BarCodeDescr,
                     &Characters,&Reference,&IsCorrect);
  // display scanlines
  NumScanlines = ScanlineNum.Num();
  indexPoint = HTuple(0);
  for (j=0; j<=NumScanlines-1; j+=1)
  {
    if (HTuple(ScanlineDecoded[(Hlong)(j)[0]])==1)
    {
      set_color(WindowHandle,HTuple("green"));
    }
    else
    {
      set_color(WindowHandle,HTuple("red"));
    }
    NumPoints = HTuple(ScanlineNumPoints[(Hlong)(j)[0]]);
    nStart = indexPoint;
    nEnd = (indexPoint+NumPoints)-1;
    for (k=nStart; k<=nEnd; k+=1)
    {
      disp_circle(WindowHandle,HTuple(ScanlinePointsRow[(Hlong)(k)[0]]),
      HTuple(ScanlinePointsColumn[(Hlong)(k)[0]]),HTuple(1));
    }
    indexPoint = nEnd+1;
  }
}

Result

The operator get_1d_bar_codeget_1d_bar_codeGet1dBarCodeget_1d_bar_codeGet1dBarCodeGet1dBarCode returns the value 2 (H_MSG_TRUE) if the parameters are correct.

Possible Predecessors

find_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion, select_objselect_objSelectObjselect_objSelectObjSelectObj, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Possible Successors

decode_1d_bar_codedecode_1d_bar_codeDecode1dBarCodedecode_1d_bar_codeDecode1dBarCodeDecode1dBarCode

Alternatives

find_1d_bar_codefind_1d_bar_codeFind1dBarCodefind_1d_bar_codeFind1dBarCodeFind1dBarCode

Module

Bar Code


ClassesClassesClassesClasses | | | | Operators