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.
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)
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.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Description of a bar code class.
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"
Values of optional parameters.
Default value: []
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"
Number of points belonging to that scanline.
Information whether the bar code could be decoded with
that scanline.
List of values: 0, 1, 2
Row - coordinates of the points of the scanline.
Column - coordinates of the points of the scanline.
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;
}
}
The operator get_1d_bar_codeget_1d_bar_codeGet1dBarCodeget_1d_bar_codeGet1dBarCodeGet1dBarCode returns the value 2 (H_MSG_TRUE)
if the parameters are correct.
find_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion,
select_objselect_objSelectObjselect_objSelectObjSelectObj,
reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain
decode_1d_bar_codedecode_1d_bar_codeDecode1dBarCodedecode_1d_bar_codeDecode1dBarCodeDecode1dBarCode
find_1d_bar_codefind_1d_bar_codeFind1dBarCodefind_1d_bar_codeFind1dBarCodeFind1dBarCode
Bar Code