Skip to content

get_bar_code_objectGetBarCodeObjectGetBarCodeObjectget_bar_code_objectT_get_bar_code_objectπŸ”—

Short descriptionπŸ”—

get_bar_code_objectGetBarCodeObjectGetBarCodeObjectget_bar_code_objectT_get_bar_code_object β€” Access iconic objects that were created during the search or decoding of bar code symbols.

SignatureπŸ”—

get_bar_code_object( out object BarCodeObjects, barcode BarCodeHandle, integer CandidateHandle, string ObjectName )void GetBarCodeObject( HObject* BarCodeObjects, const HTuple& BarCodeHandle, const HTuple& CandidateHandle, const HTuple& ObjectName )static void HOperatorSet.GetBarCodeObject( out HObject barCodeObjects, HTuple barCodeHandle, HTuple candidateHandle, HTuple objectName )def get_bar_code_object( bar_code_handle: HHandle, candidate_handle: Union[int, str], object_name: str ) -> HObject

Herror T_get_bar_code_object( Hobject* BarCodeObjects, const Htuple BarCodeHandle, const Htuple CandidateHandle, const Htuple ObjectName )

HObject HBarCode::GetBarCodeObject( const HTuple& CandidateHandle, const HString& ObjectName ) const

HObject HBarCode::GetBarCodeObject( const HString& CandidateHandle, const HString& ObjectName ) const

HObject HBarCode::GetBarCodeObject( const char* CandidateHandle, const char* ObjectName ) const

HObject HBarCode::GetBarCodeObject( const wchar_t* CandidateHandle, const wchar_t* ObjectName ) const (Windows only)

HObject HBarCode.GetBarCodeObject( HTuple candidateHandle, string objectName )

HObject HBarCode.GetBarCodeObject( string candidateHandle, string objectName )

DescriptionπŸ”—

With the operator get_bar_code_objectGetBarCodeObject, iconic objects created during the last call of the operator find_bar_codeFindBarCode can be accessed. Besides the name of the object (ObjectNameobjectNameobject_name), the bar code model (BarCodeHandlebarCodeHandlebar_code_handle) must be passed to get_bar_code_objectGetBarCodeObject. In addition, in CandidateHandlecandidateHandlecandidate_handle an index to a single decoded symbol or a single symbol candidate must be passed. Alternatively, CandidateHandlecandidateHandlecandidate_handle can be set to 'all'"all" and then all objects of the decoded symbols or symbol candidates are returned.

Depending on the option selected in ObjectNameobjectNameobject_name parameter the following objects are returned:

  • 'symbol_regions'"symbol_regions": The regions of successfully decoded symbols are returned. When choosing 'all'"all" as CandidateHandlecandidateHandlecandidate_handle, the regions of all decoded symbols are retrieved. The order of the returned objects is the same as in find_bar_codeFindBarCode.

  • 'candidate_regions'"candidate_regions": The regions of potential bar codes are returned. If there is a total of n decoded symbols out of a total of m candidates then CandidateHandlecandidateHandlecandidate_handle can be chosen between 0 and (m-1). With CandidateHandlecandidateHandlecandidate_handle between 0 and (n-1) the original segmented region of the respective decoded symbol is retrieved. With CandidateHandlecandidateHandlecandidate_handle between n and (m-1) the region of the potential or undecodable symbol is returned. In addition, CandidateHandlecandidateHandlecandidate_handle can be set to 'all'"all" to retrieve all candidate regions at the same time.

  • 'scanlines_all'"scanlines_all",'scanlines_valid'"scanlines_valid",'scanlines_identical'"scanlines_identical",'scanlines_all_plain'"scanlines_all_plain",'scanlines_valid_plain'"scanlines_valid_plain",'scanlines_identical_plain'"scanlines_identical_plain",'scanlines_merged_edges'"scanlines_merged_edges":

    XLD contours representing the particular detected bars in the scanlines applied on the candidate regions are returned. Note that the scanlines can only be returned if the bar code was decoded by find_bar_codeFindBarCode or decode_bar_code_rectangle2DecodeBarCodeRectangle2 in 'persistence'"persistence" mode (see set_bar_code_paramSetBarCodeParam for further details).

    'scanlines_all'"scanlines_all" represents all scanlines that find_bar_codeFindBarCode could potentially create in order to decode a bar code.

    'scanlines_valid'"scanlines_valid" represents only those scanlines that could be successfully decoded. The number of scanlines that has to be valid can be adjusted with set_bar_code_paramSetBarCodeParam with the parameter 'min_identical_scanlines'"min_identical_scanlines". There will be no 'scanlines_valid'"scanlines_valid" if the symbol was not decoded. For stacked bar codes (e.g., 'GS1 DataBar Stacked'"GS1 DataBar Stacked" and 'GS1 DataBar Expanded Stacked'"GS1 DataBar Expanded Stacked") this rule applies similarly, but on a per-symbol-row basis rather then per-symbol.

    'scanlines_identical'"scanlines_identical" shows a subset of 'scanlines_valid'"scanlines_valid", defined by the scanlines which were needed to reach 'min_identical_scanlines'"min_identical_scanlines" (see set_bar_code_paramSetBarCodeParam). For stacked codes, more scanlines might be returned than specified via 'min_identical_scanlines'"min_identical_scanlines". This originates from the decoding algorithm actually used for this kind of codes.

    'scanlines_merged_edges'"scanlines_merged_edges" shows the scanlines and edges which were used for the merged scanlines (see 'merge_scanlines'"merge_scanlines" in set_bar_code_paramSetBarCodeParam).

    get_bar_code_objectGetBarCodeObject returns each scanline as separate XLD contour. Please note that the XLD contours returned by 'scanlines_all'"scanlines_all", 'scanlines_valid'"scanlines_valid", 'scanlines_identical'"scanlines_identical" and 'scanlines_merged_edges'"scanlines_merged_edges" are meant for visualization purposes and hence consist of many XLD points. Double lines are used between edges that the bar code reader recognized as bar, whereas single lines are used for white spaces. Additional information about each scanline can be obtained with get_bar_code_resultGetBarCodeResult with the parameter 'status'"status".

    The ’_plain’ variants 'scanlines_all_plain'"scanlines_all_plain", 'scanlines_identical_plain'"scanlines_identical_plain" and 'scanlines_valid_plain'"scanlines_valid_plain" return the described scanlines in a plain format. Every edge found is returned as a point of a XLD contour. For every scanline a new XLD contour is created. Scanlines for which no edges could be found are omitted.

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

ParametersπŸ”—

BarCodeObjectsbarCodeObjectsbar_code_objects (output_object) object(-array) β†’ objectHObjectHObjectHObjectHobject *

Objects that are created as intermediate results during the detection or evaluation of bar codes.

BarCodeHandlebarCodeHandlebar_code_handle (input_control) barcode β†’ (handle)HTuple (HHandle)HBarCode, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the bar code model.

CandidateHandlecandidateHandlecandidate_handle (input_control) integer β†’ (string / integer)HTuple (HString / Hlong)HTuple (string / int / long)Union[int, str]Htuple (char* / Hlong)

Indicating the bar code results respectively candidates for which the data is required.

Default: 'all'"all"
Suggested values: 0, 1, 2, 'all'0, 1, 2, "all"

ObjectNameobjectNameobject_name (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Name of the iconic object to return.

Default: 'candidate_regions'"candidate_regions"
List of values: 'candidate_regions', 'scanlines_all', 'scanlines_all_plain', 'scanlines_identical', 'scanlines_identical_plain', 'scanlines_merged_edges', 'scanlines_valid', 'scanlines_valid_plain', 'symbol_regions'"candidate_regions", "scanlines_all", "scanlines_all_plain", "scanlines_identical", "scanlines_identical_plain", "scanlines_merged_edges", "scanlines_valid", "scanlines_valid_plain", "symbol_regions"

ResultπŸ”—

The operator get_bar_code_objectGetBarCodeObject returns the value 2 (H_MSG_TRUE) if the given parameters are correct and the requested objects are available for the last symbol search. Otherwise, an exception will be raised.

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

find_bar_codeFindBarCode

See also

get_bar_code_resultGetBarCodeResult

ModuleπŸ”—

Bar Code