diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 00:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 00:06:44 +0000 |
commit | 44cf8ec67278bd1ab6c7f83a9993f7a5686a9541 (patch) | |
tree | 5eec4b0d1a3f163d279c3c27c03324ba49fa235a /perl/ZBar | |
parent | Initial commit. (diff) | |
download | zbar-44cf8ec67278bd1ab6c7f83a9993f7a5686a9541.tar.xz zbar-44cf8ec67278bd1ab6c7f83a9993f7a5686a9541.zip |
Adding upstream version 0.23.93.upstream/0.23.93upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'perl/ZBar')
-rw-r--r-- | perl/ZBar/Image.pod | 145 | ||||
-rw-r--r-- | perl/ZBar/ImageScanner.pod | 103 | ||||
-rw-r--r-- | perl/ZBar/Processor.pod | 157 | ||||
-rw-r--r-- | perl/ZBar/Symbol.pod | 179 |
4 files changed, 584 insertions, 0 deletions
diff --git a/perl/ZBar/Image.pod b/perl/ZBar/Image.pod new file mode 100644 index 0000000..6848bdd --- /dev/null +++ b/perl/ZBar/Image.pod @@ -0,0 +1,145 @@ +#------------------------------------------------------------------------ +# Copyright 2008-2009 (c) Jeff Brown <spadix@users.sourceforge.net> +# +# This file is part of the ZBar Bar Code Reader. +# +# The ZBar Bar Code Reader is free software; you can redistribute it +# and/or modify it under the terms of the GNU Lesser Public License as +# published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The ZBar Bar Code Reader is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser Public License for more details. +# +# You should have received a copy of the GNU Lesser Public License +# along with the ZBar Bar Code Reader; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# http://sourceforge.net/projects/zbar +#------------------------------------------------------------------------ + +=pod + +=head1 NAME + +Barcode::ZBar::Image - image object to scan for bar codes + +=head1 SYNOPSIS + + use Barcode::ZBar; + + my $image = Barcode::ZBar::Image->new(); + $image->set_format('422P'); + $image->set_size(114, 80); + $image->set_data($raw_bits); + + my @symbols = $image->get_symbols(); + +=head1 DESCRIPTION + +Barcode::ZBar::Image is used to pass images to the bar code scanner. +It wraps raw image data with the meta-data required to interpret it +(size, pixel format, etc) + +=head2 Image Formats + +Image data formats are represented by (relatively) standard "Four +Character Codes" (fourcc), represented by four character strings in +Perl. A list of supported formats is available on the project wiki. + +Examples: + +=over 2 + +=item * + +'GREY' - single 8bpp intensity plane + +=item * + +'BGR3' - 24bpp packed RGB component format + +=item * + +'YUYV' - 12bpp packed luminance/chrominance (YCbCr) format + +=back + +=head1 REFERENCE + +=head2 Methods + +=over 4 + +=item new() + +Create a new Barcode::ZBar::Image object. The size, pixel format and +data must be defined before the object may be used. + +=item get_format() + +=item set_format(I<format>) + +Return/specify the fourcc code corresponding to the image pixel format. + +=item get_sequence() + +=item set_sequence(I<seq_num>) + +Return/specify the video frame or page number associated with the image. + +=item get_size() + +=item set_size(I<width>, I<height>) + +Return/specify the (I<width>, I<height>) image size tuple. + +=item get_data() + +=item set_data(I<raw>) + +Return/specify the raw image data as a binary string. + +=item get_symbols() + +Return a list of scanned Barcode::ZBar::Symbol results attached to +this image. + +=item convert_resize(I<format>, I<width>, I<height>) + +=item convert(I<format>) + +Return a new Barcode::ZBar::Image object converted to the indicated +fourcc format. Returns C<undef> if the conversion is not supported. +Conversion complexity ranges from CPU intensive to trivial depending +on the formats involved. Note that only a few conversions retain +color information. convert actually calls convert_resize using the +source width and height. + +=back + +=head1 SEE ALSO + +Barcode::ZBar, Barcode::ZBar::Image, Barcode::ZBar::Symbol + +zbarimg(1), zbarcam(1) + +http://zbar.sf.net + +=head1 AUTHOR + +Jeff Brown, E<lt>spadix@users.sourceforge.netE<gt> + +=head1 COPYRIGHT AND LICENSE + +Copyright 2008-2010 (c) Jeff Brown E<lt>spadix@users.sourceforge.netE<gt> + +The ZBar Bar Code Reader is free software; you can redistribute it +and/or modify it under the terms of the GNU Lesser Public License as +published by the Free Software Foundation; either version 2.1 of +the License, or (at your option) any later version. + +=cut diff --git a/perl/ZBar/ImageScanner.pod b/perl/ZBar/ImageScanner.pod new file mode 100644 index 0000000..dcbc21c --- /dev/null +++ b/perl/ZBar/ImageScanner.pod @@ -0,0 +1,103 @@ +#------------------------------------------------------------------------ +# Copyright 2008-2009 (c) Jeff Brown <spadix@users.sourceforge.net> +# +# This file is part of the ZBar Bar Code Reader. +# +# The ZBar Bar Code Reader is free software; you can redistribute it +# and/or modify it under the terms of the GNU Lesser Public License as +# published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The ZBar Bar Code Reader is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser Public License for more details. +# +# You should have received a copy of the GNU Lesser Public License +# along with the ZBar Bar Code Reader; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# http://sourceforge.net/projects/zbar +#------------------------------------------------------------------------ + +=pod + +=head1 NAME + +Barcode::ZBar::ImageScanner - scan images for bar codes + +=head1 SYNOPSIS + + use Barcode::ZBar; + + my $scanner = Barcode::ZBar::ImageScanner->new(); + $scanner->parse_config('i25.disable'); + $scanner->scan_image($image); + +=head1 DESCRIPTION + +A Barcode::ZBar::ImageScanner is used to scan for bar codes in a +Barcode::ZBar::Image. + +=head1 REFERENCE + +=head2 Methods + +=over 4 + +=item new() + +Create a new bar code image scanner instance. + +=item get_results() + +Return a list of Barcode::ZBar::Symbol results from the last scanned +image. + +=item scan_image([I<image>]) + +Scan a Barcode::ZBar::Image for bar codes. The image must be in the +"Y800" format. If necessary, use C<< I<$image>->convert("Y800") >> to +convert from other supported formats to Y800 before scanning. + +=item enable_cache([I<enable>]) + +Enable the inter-image result consistency cache. + +=item set_config(I<symbology>, I<config>, I<value>) + +Set config for indicated symbology (0 for all) to specified value. + +=item parse_config(I<configstr>) + +Apply a decoder configuration setting. See the documentation for +C<zbarcam>/C<zbarimg> for available configuration options. + +=item recycle_image([I<image>]) + +Remove previously decoded results from a Barcode::ZBar::Image and +recycle the associated memory. + +=back + +=head1 SEE ALSO + +Barcode::ZBar, Barcode::ZBar::Image, zbarimg(1), zbarcam(1) + +http://zbar.sf.net + +=head1 AUTHOR + +Jeff Brown, E<lt>spadix@users.sourceforge.netE<gt> + +=head1 COPYRIGHT AND LICENSE + +Copyright 2008-2010 (c) Jeff Brown E<lt>spadix@users.sourceforge.netE<gt> + +The ZBar Bar Code Reader is free software; you can redistribute it +and/or modify it under the terms of the GNU Lesser Public License as +published by the Free Software Foundation; either version 2.1 of +the License, or (at your option) any later version. + +=cut diff --git a/perl/ZBar/Processor.pod b/perl/ZBar/Processor.pod new file mode 100644 index 0000000..96b1982 --- /dev/null +++ b/perl/ZBar/Processor.pod @@ -0,0 +1,157 @@ +#------------------------------------------------------------------------ +# Copyright 2008-2009 (c) Jeff Brown <spadix@users.sourceforge.net> +# +# This file is part of the ZBar Bar Code Reader. +# +# The ZBar Bar Code Reader is free software; you can redistribute it +# and/or modify it under the terms of the GNU Lesser Public License as +# published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The ZBar Bar Code Reader is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser Public License for more details. +# +# You should have received a copy of the GNU Lesser Public License +# along with the ZBar Bar Code Reader; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# http://sourceforge.net/projects/zbar +#------------------------------------------------------------------------ + +=pod + +=head1 NAME + +Barcode::ZBar::Processor - self-contained bar code reader + +=head1 SYNOPSIS + +setup: + + use Barcode::ZBar; + + my $reader = Barcode::ZBar::Processor->new(); + $reader->init("/dev/video1", 1); + $reader->parse_config('code39.disable'); + $reader->set_data_handler(\&my_handler); + +scan an image: + + $reader->process_image($image); + +scan from video: + + $reader->set_visible(); + $reader->set_active(); + $reader->user_wait(); + +=head1 DESCRIPTION + +A Barcode::ZBar::Processor may be used to quickly create stand-alone +bar code scanning applications. It has interfaces to scan images or +video and to optionally display a video/image preview to a window. + +This interface is not well suited for integration with an existing +GUI, as the library manages the optional preview window and any user +interaction. Use a Barcode::ZBar::ImageScanner or Investigate the +available widget interfaces for GUI applications. + +=head1 REFERENCE + +=head2 Methods + +=over 4 + +=item new() + +Create a new bar code reader instance. + +=item init([I<video_device>], [I<enable_display>]) + +Open a video input device and/or prepare to display output. + +=item set_data_handler([I<handler>], [I<closure>]) + +Setup a callback to process results whenever new results are available +from the video stream or a static image. The specified callable will +be invoked with the associated Barcode::ZBar::Processor object and +I<closure> as arguments. Closure may be achieved either using +standard Perl closure or by manually passing a scalar via I<closure>. + +=item is_visible() + +=item set_visible([I<visible>]) + +Test/set visibility of the output window. + +=item set_active([I<active>]) + +Enable/disable video streaming and scanning for bar codes. + +=item get_results() + +Return a list of Barcode::ZBar::Symbol results from the last scanned +image or video frame. + +=item user_wait([I<timeout>]) + +Wait for the user to press a key/button or close the window. Bar +codes will continue to be processed if video is active. + +=item process_one([I<timeout>]) + +Enable video and scan until at least one barcode is found. Note that +multiple results may still be returned. + +=item process_image([I<image>]) + +Scan a Barcode::ZBar::Image for bar codes. + +=item parse_config(I<configstr>) + +Apply a decoder configuration setting. See the documentation for +C<zbarcam>/C<zbarimg> for available configuration options. + +=item request_size(I<width>, I<height>) + +Request a preferred size for the video image from the device. The +request may be adjusted or completely ignored by the driver. Must be +called before C<init()> + +=item force_format(I<input>, I<output>) + +force specific input and output formats for debug/testing. + +=item set_config(I<symbology>, I<config>, I<value>) + +Set config for indicated symbology (0 for all) to specified value. +@returns 0 for success, non-0 for failure (config does not apply to +specified symbology, or value out of range) + +=back + +=head1 SEE ALSO + +Barcode::ZBar, Barcode::ZBar::Image, Barcode::ZBar::ImageScanner + +zbarimg(1), zbarcam(1) + +http://zbar.sf.net + +=head1 AUTHOR + +Jeff Brown, E<lt>spadix@users.sourceforge.netE<gt> + +=head1 COPYRIGHT AND LICENSE + +Copyright 2008-2010 (c) Jeff Brown E<lt>spadix@users.sourceforge.netE<gt> + +The ZBar Bar Code Reader is free software; you can redistribute it +and/or modify it under the terms of the GNU Lesser Public License as +published by the Free Software Foundation; either version 2.1 of +the License, or (at your option) any later version. + +=cut diff --git a/perl/ZBar/Symbol.pod b/perl/ZBar/Symbol.pod new file mode 100644 index 0000000..6a21b1e --- /dev/null +++ b/perl/ZBar/Symbol.pod @@ -0,0 +1,179 @@ +#------------------------------------------------------------------------ +# Copyright 2008-2010 (c) Jeff Brown <spadix@users.sourceforge.net> +# +# This file is part of the ZBar Bar Code Reader. +# +# The ZBar Bar Code Reader is free software; you can redistribute it +# and/or modify it under the terms of the GNU Lesser Public License as +# published by the Free Software Foundation; either version 2.1 of +# the License, or (at your option) any later version. +# +# The ZBar Bar Code Reader is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser Public License for more details. +# +# You should have received a copy of the GNU Lesser Public License +# along with the ZBar Bar Code Reader; if not, write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# http://sourceforge.net/projects/zbar +#------------------------------------------------------------------------ + +=pod + +=head1 NAME + +Barcode::ZBar::Symbol - bar code scan result object + +=head1 SYNOPSIS + + my @symbols = $image->get_symbols(); + foreach my $sym (@symbols) { + print("decoded: " . $sym->get_type() . + ":" . $sym->get_data(). + "(" . $sym->get_count() . ")"); + } + +=head1 DESCRIPTION + +Barcode::ZBar::Symbol objects are constant results returned for each +bar code scanned from images or video. This object wraps the raw +symbol data with additional information about the decode (symbology, +confidence, location, etc) + +=head1 REFERENCE + +=head2 Methods + +=over 4 + +=item get_type() + +The type of bar code "symbology" from which the data was decoded. + +=item get_data() + +The decoded data string. Note that some symbologies can encode binary +data. + +=item get_quality() + +Confidence metric. An unscaled integer value that indicates something +(intentionally unspecified) about the reliability of this result +relative to another. Larger values are better than smaller values, +where "large" and "small" are application dependent. Expect this +definition to become more specific as the metric is enhanced. + +=item get_count() + +Current cache count of the symbol. This integer value provides +inter-scan reliability and redundancy information if enabled at the +Barcode::ZBar::ImageScanner. + +=item get_orientation() + +General orientation of decoded symbol. This returns one of the +Barcode::ZBar::Orient constants, which provide a coarse, axis-aligned +indication of symbol orientation. + +=item get_components() + +Components of a composite result. This yields an array of physical +component symbols that were combined to form a composite result. + +=item get_configs() + +Retrieve symbology boolean config settings. Returns a bitmask +indicating which configs were set for the detected +symbology during decoding. + +=item get_modifiers() + +Retrieve symbology modifier flag settings. Returns a bitmask +indicating which characteristics were detected during decoding. + +=item get_loc() + +Retrieve an array of symbol location points (x,y) + +=over 2 + +=item * + +A negative value indicates that this result is still uncertain + +=item * + +A zero value indicates the first occurrence of this result with high +confidence + +=item * + +A positive value indicates a duplicate scan + +=back + +=back + +=head2 Constants + +Bar code type "symbology" constants: + +=over 4 + +=item NONE + +=item PARTIAL + +=item EAN13 + +=item EAN8 + +=item UPCA + +=item UPCE + +=item ISBN10 + +=item ISBN13 + +=item I25 + +=item CODABAR + +=item CODE39 + +=item CODE93 + +=item CODE128 + +=item QRCODE + +=item PDF417 + +=back + +=head1 SEE ALSO + +Barcode::ZBar, Barcode::ZBar::Image + +zbarimg(1), zbarcam(1) + +http://zbar.sf.net + +=head1 AUTHOR + +Jeff Brown, E<lt>spadix@users.sourceforge.netE<gt> + +=head1 COPYRIGHT AND LICENSE + +Copyright 2008-2010 (c) Jeff Brown E<lt>spadix@users.sourceforge.netE<gt> + +The ZBar Bar Code Reader is free software; you can redistribute it +and/or modify it under the terms of the GNU Lesser Public License as +published by the Free Software Foundation; either version 2.1 of +the License, or (at your option) any later version. + +=cut |