1Panotools::Photos(3)  User Contributed Perl Documentation Panotools::Photos(3)
2
3
4

NAME

6       Panotools::Photos - Photo sets
7

SYNOPSIS

9       Query sets of photos
10

DESCRIPTION

12       A collection of photos has possibilities, it could be one or more
13       panoramas or a bracketed set.  This module provides some methods for
14       describing groups of photos based on available metadata
15

USAGE

17       Create a new object like so:
18
19         my $photos = new Panotools::Photos;
20
21       Alternatively supply some filenames:
22
23         my $photos = new Panotools::Photos ('DSC_0001.JPG', 'DSC_0002.JPG');
24
25       Add to or get the list of image filenames:
26
27         $photos->Paths ('DSC_0003.JPG', 'DSC_0004.JPG');
28         my @paths = $photos->Paths;
29
30       Construct a stub filename from the names of the first and last images
31       in the list.
32
33         my $stub = $photos->Stub;
34
35       e.g. DSC_0001.JPG DSC_0002.JPG DSC_0003.JPG -> DSC_0001-DSC_0003
36
37       Query to discover if this is a likely bracketed set.  i.e. is the total
38       number of photos divisible by the number of different exposures:
39
40         &do_stuff if ($photos->Bracketed);
41
42       Query to discover if this is a layered set, i.e. there is a large
43       exposure difference in the set, but it isn't bracketed.
44
45         &do_stuff if ($photos->Layered);
46
47       By default the threshold is 4, e.g. exposures varying between 2 and 1/2
48       seconds indicate layers.  Vary this threshold like so:
49
50         &do_stuff if ($photos->Layered (2));
51
52       Get a list of exposure times sorted with longest exposure first
53
54         @speeds = @{$photos->Speeds};
55
56       Given a set of photos, split it into a one or more sets by looking at
57       the variation of time interval between shots.  e.g. typically the
58       interval between shots in a panorama varies by less than 15 seconds.  A
59       variation greater than that indicates the start of the next panorama:
60
61         my @sets = $photos->SplitInterval (15);
62
63       Sets with an average interval greater than 4x this variation are not
64       considered panoramas at all and discarded.
65
66       Get the average time between shots:
67
68         $average = $photos->AverageInterval;
69
70       Get the Angle of View in degrees of the first photo:
71
72         $photos->FOV;
73
74       ..or any other photo (-1 is last):
75
76         $photos->FOV (123);
77
78       Returns undef if the FOV can't be calculated.
79
80       Get an EV value for a photo, this will be guessed from partial EXIF
81       data:
82
83         $photos->Eev ($index);
84
85
86
87perl v5.12.1                      2010-04-08              Panotools::Photos(3)
Impressum