Image::Compare::THRESHOLD_COUNT - Count the number of pixel pairs in two images


Image-Compare documentation Contained in the Image-Compare distribution.

Index


Code Index:

NAME

Top

Image::Compare::THRESHOLD_COUNT - Count the number of pixel pairs in two images that differ by more than a given threshold.

OVERVIEW

Top

See the docs for Image::Compare for details on how to use this module. Further documentation is meant for those modifying or subclassing this comparator. See the documentation in Image::Compare::Comparator for general information about making your own comparator subclasses.

METHODS

Top

accumulate(\@pixel1, \@pixel2, $x, $y)

Calls the superclass accumulate to determine if a given pair of pixels are within the disance threshold or not. If they are not, increments a counter.

get_result()

Returns the count of pixels pairs whose difference exceeded the threshold.

setup($img1, $img2)

Sets up the collection variable for the count to be returned.

AUTHOR

Top

Copyright 2008 Avi Finkel <avi@finkel.org>

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)


Image-Compare documentation Contained in the Image-Compare distribution.

package Image::Compare::THRESHOLD_COUNT;

use warnings;
use strict;

use base qw/Image::Compare::THRESHOLD/;

sub setup {
	my $self = shift;
	$self->{count} = 0;
}

sub accumulate {
	my $self = shift;
	# The superclass returns 0 if it's over the threshold and undef otherwise.
	# Not really optimal return values, but we're kind of cheating by looking
	# at it in this context, so hey.
	if (defined($self->SUPER::accumulate(@_))) {
		$self->{count}++;
	}
	# Always continue.
	return undef;
}

sub get_result {
	my $self = shift;
	return $self->{count} || 0;
}

1;

__END__