Image::Seek(3pm)

NAME

Image::Seek - A port of ImgSeek to Perl

DESCRIPTION

use Image::Seek qw(loaddb add_image query_id savedb);

loaddb("haar.db");

# EITHER
my $img = GD::Image->newFromJpeg("photo-216.jpg", 1);
# OR
my $img = Imager->new();
$img->open(file => "photo-216.jpg");
# OR
my $img = Image::Imlib2->load("photo-216.jpg");

# Then...
add_image($img, 216);
savedb("haar.db");

my @results = query_id(216); # What looks like this photo?

remove_id(216); # Just remove id from database.

DESCRIPTION

ImgSeek (http://www.imgseek.net/) is an implementation of Haar wavelet decomposition techniques to find similar pictures in a library. This
module is port of the ImgSeek library to Perl's XS. It can deal with
image objects produced by the "Imager" and "Image::Imlib2" libraries.

EXPORT

None by default, but the following functions are available:
savedb($file)
Dumps the state of the norms and image buckets to the file $file.
loaddb($file)
Loads a database of image norms produced by savedb
cleardb
Clears the internal database. Note that "loaddb" will load into memory a bunch of data that you may already have - it will duplicate rather
than replace this data, so results will be skewed if you load a
database multiple times without clearing it in between.
add_image($image, $id)
Adds the image object to the database, keyed against the numeric id
$id. This will compute the Haar transformation for a 128x128 thumbnail of the image, and then store its norms into a database in memory.
remove_id($id)
remove id from database, and you should "savedb" to save the changed
database.
query_id($id[, $results))
This queries the internal database for pictures which are "like" number $id. It returns a list of $results results (by default, 10); a result
is an array reference. The first element is the ID of a picture, the
second is a score. So for example:

query_id(2481, 5)
returns, in a shoot I have, the following:

[ 2481, -38.3800003528595 ],
[ 2480, -37.5519620793145 ],
[ 2478, -37.39896965962 ],
[ 2479, -37.2777427507208 ],
[ 2584, -10.0803730081134 ],
[ 2795, -7.89326129961427 ]
Notice that the scores go the opposite way to what you might imagine:
lower is better. The results come out sorted, and the first result is
the thing you queried for.

SEE ALSO

http://www.imgseek.net/

AUTHOR

Simon Cozens, <simon@cpan.org> Lilo Huang, <kenwu@cpan.org>

All the clever bits were written by Ricardo Niederberger Cabral; I just mangled them to wrap Perl around them.

COPYRIGHT AND LICENSE

Copyright (C) 2005 by Simon Cozens, 2008 by Lilo Huang

This library is free software; as it is a derivative work of imgseek,
this library is distributed under the same terms (GPL) as imgseek.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout