get_bar_code_objectT_get_bar_code_objectGetBarCodeObjectGetBarCodeObject (Operator)
Name
get_bar_code_objectT_get_bar_code_objectGetBarCodeObjectGetBarCodeObject
— Access iconic objects that were created during the search or decoding of
bar code symbols.
Signature
Description
With the operator get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObject
, iconic objects created
during the last call of the operator find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCode
can be accessed.
Besides the name of the object (ObjectNameObjectNameObjectNameObjectNameobjectName
), the bar code model
(BarCodeHandleBarCodeHandleBarCodeHandleBarCodeHandlebarCodeHandle
) must be passed to get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObject
.
In addition, in CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
an index to a single decoded
symbol or a single symbol candidate must be passed. Alternatively,
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
can be set to 'all'"all""all""all""all" and then all
objects of the decoded symbols or symbol candidates are returned.
Depending on the option selected in ObjectNameObjectNameObjectNameObjectNameobjectName
parameter
the following objects are returned:
- 'symbol_regions'"symbol_regions""symbol_regions""symbol_regions""symbol_regions":
-
The regions of successfully decoded symbols are returned. When
choosing 'all'"all""all""all""all" as CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
, the regions
of all decoded symbols are retrieved. The order of the returned
objects is the same as in find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCode
.
- 'candidate_regions'"candidate_regions""candidate_regions""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
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
can be chosen between 0 and (m-1). With
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
between 0 and (n-1) the original
segmented region of the respective decoded symbol is retrieved.
With CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
between n and (m-1) the region
of the potential or undecodable symbol is returned. In addition,
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
can be set to 'all'"all""all""all""all" to retrieve
all candidate regions at the same time.
- 'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all",
'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid",
'scanlines_all_plain'"scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain",
'scanlines_valid_plain'"scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain",
'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""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 be only be returned if the bar code was decoded
by find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCode
or decode_bar_code_rectangle2decode_bar_code_rectangle2DecodeBarCodeRectangle2DecodeBarCodeRectangle2DecodeBarCodeRectangle2
in
'persistence'"persistence""persistence""persistence""persistence" mode (see
set_bar_code_paramset_bar_code_paramSetBarCodeParamSetBarCodeParamSetBarCodeParam
for further details).
'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all" represents all scanlines that
find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCode
could potentially create in order to decode a bar
code.
'scanlines_valid'"scanlines_valid""scanlines_valid""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_paramset_bar_code_paramSetBarCodeParamSetBarCodeParamSetBarCodeParam
with the
parameter 'min_identical_scanlines'"min_identical_scanlines""min_identical_scanlines""min_identical_scanlines""min_identical_scanlines".
There will be no 'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid"
if the symbol was not decoded. For stacked bar codes (e.g.
'GS1 DataBar Stacked'"GS1 DataBar Stacked""GS1 DataBar Stacked""GS1 DataBar Stacked""GS1 DataBar Stacked" and 'GS1 DataBar Expanded
Stacked'"GS1 DataBar Expanded
Stacked""GS1 DataBar Expanded
Stacked""GS1 DataBar Expanded
Stacked""GS1 DataBar Expanded
Stacked") this rule applies similarly, but on a per-symbol-row basis
rather then per-symbol.
'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges" shows
the scanlines and edges which were used for the merged scanlines
(see 'merge_scanlines' in set_bar_code_paramset_bar_code_paramSetBarCodeParamSetBarCodeParamSetBarCodeParam
).
get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObject
returns each scanline as separate XLD
contour. Please note that the XLD contours returned by
'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all", 'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid" and
'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""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_resultget_bar_code_resultGetBarCodeResultGetBarCodeResultGetBarCodeResult
with the parameter 'status'"status""status""status""status".
The '_plain' variants 'scanlines_all_plain'"scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain" and
'scanlines_valid_plain'"scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain" return the described scanlines in
a plain format. Every edge found is returned as a point of an
XLD contour. For every scanline a new XLD contour is created. Scanlines
for which no edges could be found are omitted.
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
BarCodeObjectsBarCodeObjectsBarCodeObjectsBarCodeObjectsbarCodeObjects
(output_object) object(-array) →
objectHObjectHObjectHobject *
Objects that are created as intermediate results
during the detection or evaluation of bar codes.
BarCodeHandleBarCodeHandleBarCodeHandleBarCodeHandlebarCodeHandle
(input_control) barcode →
HBarCode, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the bar code model.
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandle
(input_control) integer →
HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Indicating the bar code results respectively candidates
for which the data is required.
Default value:
'all'
"all"
"all"
"all"
"all"
Suggested values: 0, 1, 2, 'all'"all""all""all""all"
ObjectNameObjectNameObjectNameObjectNameobjectName
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Name of the iconic object to return.
Default value:
'candidate_regions'
"candidate_regions"
"candidate_regions"
"candidate_regions"
"candidate_regions"
List of values: 'candidate_regions'"candidate_regions""candidate_regions""candidate_regions""candidate_regions", 'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all", 'scanlines_all_plain'"scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain", 'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges", 'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid", 'scanlines_valid_plain'"scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain", 'symbol_regions'"symbol_regions""symbol_regions""symbol_regions""symbol_regions"
Result
The operator get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObject
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.
Possible Predecessors
find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCode
See also
get_bar_code_resultget_bar_code_resultGetBarCodeResultGetBarCodeResultGetBarCodeResult
Module
Bar Code