ClassesClassesClassesClasses | | | | Operators

find_1d_bar_code_regionT_find_1d_bar_code_regionFind1dBarCodeRegionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion (Operator)

Name

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

Warning

find_1d_bar_code_regionfind_1d_bar_code_regionFind1dBarCodeRegionfind_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_codeFindBarCodefind_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 Find1dBarCodeRegion(const HObject& Image, HObject* CodeRegion, const HTuple& BarCodeDescr, const HTuple& GenericName, const HTuple& GenericValue, HTuple* Orientation)

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

HRegion HImage::Find1dBarCodeRegion(const HTuple& BarCodeDescr, const HString& GenericName, double GenericValue, double* Orientation) const

HRegion HImage::Find1dBarCodeRegion(const HTuple& BarCodeDescr, const char* GenericName, double GenericValue, double* 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_regionFind1dBarCodeRegionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion looks for multiple barcodes in the image. In contrast to find_1d_bar_codefind_1d_bar_codeFind1dBarCodefind_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_codeFind1dBarCodefind_1d_bar_codeFind1dBarCodeFind1dBarCode. The description of the parameters GenericNameGenericNameGenericNameGenericNameGenericNamegenericName and GenericValueGenericValueGenericValueGenericValueGenericValuegenericValue can be found at this operator.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2)

Image with bar codes inside.

CodeRegionCodeRegionCodeRegionCodeRegionCodeRegioncodeRegion (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Regions of bar codes.

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: 'amplitude_sobel'"amplitude_sobel""amplitude_sobel""amplitude_sobel""amplitude_sobel""amplitude_sobel", 'angle_range'"angle_range""angle_range""angle_range""angle_range""angle_range", 'correct_angle'"correct_angle""correct_angle""correct_angle""correct_angle""correct_angle", 'dilation_factor'"dilation_factor""dilation_factor""dilation_factor""dilation_factor""dilation_factor", 'max_size_element'"max_size_element""max_size_element""max_size_element""max_size_element""max_size_element", 'min_size_element'"min_size_element""min_size_element""min_size_element""min_size_element""min_size_element", 'sum_angles'"sum_angles""sum_angles""sum_angles""sum_angles""sum_angles"

GenericValueGenericValueGenericValueGenericValueGenericValuegenericValue (input_control)  attribute.value(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Values of optional parameters.

Default value: []

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

Orientation of bar code.

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;

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(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_regionFind1dBarCodeRegionfind_1d_bar_code_regionFind1dBarCodeRegionFind1dBarCodeRegion returns the value 2 (H_MSG_TRUE) if the parameters are correct and at least one bar code is found.

Module

Bar Code


ClassesClassesClassesClasses | | | | Operators