HALCON Reference Manual 10.0.2
Table of Contents / Legacy / 1D Bar Code ClassesClassesClasses | | | Operators

find_1d_bar_code_regionT_find_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion (Operator)

Name

find_1d_bar_code_regionT_find_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion — Look for multiple bar code regions in an image.

Warning

find_1d_bar_code_regionfind_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion 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 (see find_bar_codefind_bar_codefind_bar_codeFindBarCodeFindBarCode).

Signature

find_1d_bar_code_region(Image : CodeRegion : BarCodeDescr, GenericName, GenericValue : Orientation)

Herror T_find_1d_bar_code_region(const Hobject Image, Hobject* CodeRegion, const Htuple BarCodeDescr, const Htuple GenericName, const Htuple GenericValue, Htuple* Orientation)

Herror find_1d_bar_code_region(Hobject Image, Hobject* CodeRegion, const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, double* Orientation)

Herror find_1d_bar_code_region(Hobject Image, Hobject* CodeRegion, const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, HTuple* Orientation)

HRegionArray HImage::Find1dBarCodeRegion(const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, HTuple* Orientation) const

HRegionArray HBarCode1D::Find1dBarCodeRegion(const HImage& Image, const HTuple& GenericName, const HTuple& GenericValue, HTuple* Orientation) const

void HOperatorSetX.Find1dBarCodeRegion(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*CodeRegion, [in] VARIANT BarCodeDescr, [in] VARIANT GenericName, [in] VARIANT GenericValue, [out] VARIANT* Orientation)

IHRegionX* HBarCode1DX.Find1dBarCodeRegion(
[in] IHImageX* Image, [in] VARIANT BarCodeDescr, [in] VARIANT GenericName, [in] VARIANT GenericValue, [out] VARIANT* Orientation)

IHRegionX* HImageX.Find1dBarCodeRegion(
[in] VARIANT BarCodeDescr, [in] VARIANT GenericName, [in] VARIANT GenericValue, [out] VARIANT* Orientation)

static void HOperatorSet.Find1dBarCodeRegion(HObject image, out HObject codeRegion, HTuple barCodeDescr, HTuple genericName, HTuple genericValue, out HTuple orientation)

HRegion HImage.Find1dBarCodeRegion(HTuple barCodeDescr, HTuple genericName, HTuple genericValue, out HTuple orientation)

HRegion HImage.Find1dBarCodeRegion(HTuple barCodeDescr, string genericName, double genericValue, out double orientation)

Description

find_1d_bar_code_regionfind_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion looks for multiple barcodes in the image. In contrast to find_1d_bar_codefind_1d_bar_codefind_1d_bar_codeFind1dBarCodeFind1dBarCode this operator is used if an image contains more than one bar code. Here only the regions but not the widths of the elements are extracted. For every region the orientation in radians is calculated.

In images showing several barcodes with varying orientation only those in the dominating orientation are found. The same applies, if other structures such as text or texture dominate the picture. This may prevent barcode regions that have a different orientation from being found.

The control of the image processing is identical to find_1d_bar_codefind_1d_bar_codefind_1d_bar_codeFind1dBarCodeFind1dBarCode. The description of the parameters GenericNameGenericNameGenericNameGenericNamegenericName and GenericValueGenericValueGenericValueGenericValuegenericValue can be found at this operator.

Parallelization

Parameters

ImageImageImageImageimage (input_object)  image objectHImageHImageHImageXHobject (byte / uint2)

Image with bar codes inside.

CodeRegionCodeRegionCodeRegionCodeRegioncodeRegion (output_object)  region(-array) objectHRegionHRegionHRegionXHobject *

Regions of bar codes.

BarCodeDescrBarCodeDescrBarCodeDescrBarCodeDescrbarCodeDescr (input_control)  barcode_1d-array HTupleHBarCode1D, HTupleHBarCode1DX, VARIANTHtuple (string / integer / real) (string / int / long / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Description of a bar code class.

GenericNameGenericNameGenericNameGenericNamegenericName (input_control)  attribute.name(-array) HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Names of optional parameters.

Default value: []

List of values: 'amplitude_sobel'"amplitude_sobel""amplitude_sobel""amplitude_sobel""amplitude_sobel", 'min_size_element'"min_size_element""min_size_element""min_size_element""min_size_element", 'max_size_element'"max_size_element""max_size_element""max_size_element""max_size_element", 'angle_range'"angle_range""angle_range""angle_range""angle_range", 'correct_angle'"correct_angle""correct_angle""correct_angle""correct_angle", 'dilation_factor'"dilation_factor""dilation_factor""dilation_factor""dilation_factor", 'sum_angles'"sum_angles""sum_angles""sum_angles""sum_angles"

GenericValueGenericValueGenericValueGenericValuegenericValue (input_control)  attribute.value(-array) HTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Values of optional parameters.

Default value: []

OrientationOrientationOrientationOrientationorientation (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Orientation of bar code.

Example (C++)

HTuple   empty;   // empty list of values
HTuple   BarCodeDescr;
HTuple   Orientations, Elements;
HTuple   Characters,Reference,IsCorrect;
Hobject  Image,CodeRegions,CodeRegion,GrayRegion;
long     num;

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 (long i=0; i<num; i++)
{
  select_obj(CodeRegions,&CodeRegion,i);
  reduce_domain(Image,CodeRegion,GrayRegion)\:
  get_1d_bar_code(GrayRegion,BarCodeDescr,empty,empty,Orientations[i],
                  &Elements);
  decode_1d_bar_code(Elements,BarCodeDescr,
                     &Characters,&Reference,&IsCorrect);
}

Result

The operator find_1d_bar_code_regionfind_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion returns the value 2 (H_MSG_TRUE) if the parameters are correct and at least one bar code is found.

Possible Predecessors

gen_1d_bar_code_descrgen_1d_bar_code_descrgen_1d_bar_code_descrGen1dBarCodeDescrGen1dBarCodeDescr, gen_1d_bar_code_descr_gengen_1d_bar_code_descr_gengen_1d_bar_code_descr_genGen1dBarCodeDescrGenGen1dBarCodeDescrGen

Possible Successors

get_1d_bar_codeget_1d_bar_codeget_1d_bar_codeGet1dBarCodeGet1dBarCode, count_objcount_objcount_objCountObjCountObj, select_objselect_objselect_objSelectObjSelectObj, reduce_domainreduce_domainreduce_domainReduceDomainReduceDomain

Alternatives

find_1d_bar_codefind_1d_bar_codefind_1d_bar_codeFind1dBarCodeFind1dBarCode

See also

sobel_dirsobel_dirsobel_dirSobelDirSobelDir

Module

Bar Code


Table of Contents / Legacy / 1D Bar Code ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH