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       FOV FocalLength Rotation
71           Get the Angle of View in degrees of the first photo:
72
73             $photos->FOV;
74
75           ..or any other photo (-1 is last):
76
77             $photos->FOV (123);
78
79           Returns undef if the FOV can't be calculated.
80
81           Get an EV value for a photo, this will be guessed from partial EXIF
82           data:
83
84             $photos->Eev ($index);
85

POD ERRORS

87       Hey! The above document had some coding errors, which are explained
88       below:
89
90       Around line 242:
91           '=item' outside of any '=over'
92
93           =over without closing =back
94
95
96
97perl v5.28.0                      2013-08-18              Panotools::Photos(3)
Impressum