Barcode-ZBar

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.09  2022-02-08
	* bdf1a10 Barcode::ZBar 0.09 update version and Changes
	* 08ac997 Barcode::ZBar fix test

0.08  2022-02-07
	* 0a2fa55 Barcode::ZBar update version for release
	* 889cc66 perl skip more tests if DISPLAY not set and set prereqs in Makefile.PL
	* c77594e Barcode::ZBar Update Changes and Increment Version

0.07  2022-02-06
	* d0428ef Barcode::ZBar - Image::Magick not installed skip 3 more tests
	* 576355e Fixes rt.cpan.org 122061 - test fails when DISPLAY not set
	* e9a0cf2 Update Barcode::ZBar Changes

0.06  2022-02-06
	* 93564a5 Add provides and min-perl version to meta files
	* b01a86f perl module Increment version for cpan release and update changes

0.05  2022-02-05 - Updates from mchehab/zbar
	* 0d1d582 perl some packaging improvements
	* 5b3c33d Enforce a coding style

META.json  view on Meta::CPAN

            "Test::Pod::Coverage" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "perl" : "5.006"
         }
      },
      "test" : {
         "recommends" : {
            "Image::Magick" : "0"
         }
      }
   },
   "provides" : {
      "Barcode::ZBar" : {
         "file" : "ZBar.pm",
         "version" : "0.10"
      },
      "Barcode::ZBar::Error" : {
         "file" : "ZBar.pm",

Makefile.PL  view on Meta::CPAN

            url     => 'https://metacpan.org/pod/CPAN::Meta::Spec',
        },
        prereqs       => {
            build => {
                requires => {
                    'Test::More'    => 0,
                },
            },
            test => {
                recommends => {
                    'Image::Magick' => 0,
                },
            },
            develop => {
                recommends => {
                    'Test::Pod::Coverage' => 0,
                    'Test::Pod' => 0,
                },
            }
        },
        resources         => {

examples/paginate.pl  view on Meta::CPAN

#  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
#------------------------------------------------------------------------
use warnings;
use strict;

use Barcode::ZBar;
use Image::Magick;

warn("no input files specified?\n") if(!@ARGV);

# running output document
my $out = undef;

# barcode scanner
my $scanner = Barcode::ZBar::ImageScanner->new();

foreach my $file (@ARGV) {
    print "scanning from \"$file\"\n";
    my $imseq = Image::Magick->new();
    my $err = $imseq->Read($file);
    warn($err) if($err);

    foreach my $page (@$imseq) {
        # convert ImageMagick page to ZBar image
        my $zimg = Barcode::ZBar::Image->new();
        $zimg->set_format('Y800');
        $zimg->set_size($page->Get(qw(columns rows)));
        $zimg->set_data($page->Clone()->ImageToBlob(magick => 'GRAY', depth => 8));

examples/paginate.pl  view on Meta::CPAN

        if($scanner->scan_image($zimg)) {
            # write out previous document
            $out->write() if($out);

            # use first symbol found to name next image (FIXME sanitize)
            my $data = ($zimg->get_symbols())[0]->get_data();
            my $idx = $page->Get('scene') + 1;
            print "splitting $data from page $idx\n";

            # create new output document
            $out = Image::Magick->new(filename => $data);
        }

        # append this page to current output
        push(@$out, $page) if($out);
    }

    # write out final document
    $out->write() if($out);
}

examples/scan_image.pl  view on Meta::CPAN

#!/usr/bin/perl
use warnings;
use strict;
require Image::Magick;
require Barcode::ZBar;

$ARGV[0] || die;

# create a reader
my $scanner = Barcode::ZBar::ImageScanner->new();

# configure the reader
$scanner->parse_config("enable");

# obtain image data
my $magick = Image::Magick->new();
$magick->Read($ARGV[0]) && die;
my $raw = $magick->ImageToBlob(magick => 'GRAY', depth => 8);

# wrap image data
my $image = Barcode::ZBar::Image->new();
$image->set_format('Y800');
$image->set_size($magick->Get(qw(columns rows)));
$image->set_data($raw);

# scan the image for barcodes

t/Image.t  view on Meta::CPAN


#########################

$image->set_size(114, 80);
is_deeply([$image->get_crop()], [0, 0, 114, 80], 'crop reset');

#########################

# FIXME avoid skipping these (eg embed image vs ImageMagick)
SKIP: {
    eval { require Image::Magick };
    skip "Image::Magick not installed", 16 if $@;

    my $im = Image::Magick->new();
    my $err = $im->Read('t/barcode.png');
    die($err) if($err);

    $image->set_size($im->Get(qw(columns rows)));

    {
        my $data = $im->ImageToBlob(
            magick => 'YUV',
            'sampling-factor' => '4:2:2',
            interlace => 'Plane');

t/Processor.t  view on Meta::CPAN


    #########################

    ok($proc->user_wait(1.1) >= 0, 'wait w/timeout');

    #########################
}

SKIP: {
    # FIXME factor out image read utility
    eval { require Image::Magick };
    skip "Image::Magick not installed", 11 if $@;
    my $im = Image::Magick->new();
    my $err = $im->Read('t/barcode.png');
    die($err) if($err);
    my $image = Barcode::ZBar::Image->new();
    $image->set_format('422P');
    $image->set_size($im->Get(qw(columns rows)));
    $image->set_data($im->ImageToBlob(
        magick => 'YUV',
        'sampling-factor' => '4:2:2',
         interlace => 'Plane')
    );



( run in 0.447 second using v1.01-cache-2.11-cpan-beeb90c9504 )