NAME

Barcode::ZBar::Image - image object to scan for bar codes

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();

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)

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:

  • 'GREY' - single 8bpp intensity plane

  • 'BGR3' - 24bpp packed RGB component format

  • 'YUYV' - 12bpp packed luminance/chrominance (YCbCr) format

REFERENCE

Methods

new()

Create a new Barcode::ZBar::Image object. The size, pixel format and data must be defined before the object may be used.

get_format()
set_format(format)

Return/specify the fourcc code corresponding to the image pixel format.

get_sequence()
set_sequence(seq_num)

Return/specify the video frame or page number associated with the image.

get_size()
set_size(width, height)

Return/specify the (width, height) image size tuple.

get_data()
set_data(raw)

Return/specify the raw image data as a binary string.

get_symbols()

Return a list of scanned Barcode::ZBar::Symbol results attached to this image.

convert(format)

Return a new Barcode::ZBar::Image object converted to the indicated fourcc format. Returns 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.

SEE ALSO

Barcode::ZBar, Barcode::ZBar::Image, Barcode::ZBar::Symbol

zbarimg(1), zbarcam(1)

http://zbar.sf.net

AUTHOR

Jeff Brown, <spadix@users.sourceforge.net>

COPYRIGHT AND LICENSE

Copyright 2008-2010 (c) Jeff Brown <spadix@users.sourceforge.net>

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.