1Panotools::Photos(3) User Contributed Perl Documentation Panotools::Photos(3)
2
3
4
6 Panotools::Photos - Photo sets
7
9 Query sets of photos
10
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
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
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)