From: <bru...@us...> - 2013-01-08 21:27:43
|
Revision: 1353 http://panotools.svn.sourceforge.net/panotools/?rev=1353&view=rev Author: brunopostle Date: 2013-01-08 21:27:37 +0000 (Tue, 08 Jan 2013) Log Message: ----------- fix stupid bug calculating image offsets Modified Paths: -------------- trunk/Panotools-Script/bin/pto2gpano Modified: trunk/Panotools-Script/bin/pto2gpano =================================================================== --- trunk/Panotools-Script/bin/pto2gpano 2013-01-07 21:24:56 UTC (rev 1352) +++ trunk/Panotools-Script/bin/pto2gpano 2013-01-08 21:27:37 UTC (rev 1353) @@ -20,7 +20,6 @@ $pto->Read ($path_pto) || next; my $format = undef; - $format = 'cylindrical' if $pto->Panorama->{f} == 1; $format = 'equirectangular' if $pto->Panorama->{f} == 2; next unless $format; @@ -43,9 +42,17 @@ if ($pto->Panorama->{v} < 360) { $full_width = int (360 * $full_width / $pto->Panorama->{v}); - $left += int (($full_width - $width) /2); + $left += int (($full_width - $pto->Panorama->{w}) /2); } + my $vfov = $pto->Panorama->{v} * $pto->Panorama->{h} / $pto->Panorama->{w}; + my $full_height = $pto->Panorama->{h}; + if ($vfov < 180) + { + $full_height = int (180 * $full_height / $vfov); + $top += int (($full_height - $pto->Panorama->{h}) /2); + } + my $path_first = $pto->Image->[0]->Path ($path_pto); my $path_last = $pto->Image->[-1]->Path ($path_pto); @@ -58,7 +65,7 @@ $exiftool->SetNewValue ('CroppedAreaImageWidthPixels', $width); $exiftool->SetNewValue ('CroppedAreaImageHeightPixels', $height); $exiftool->SetNewValue ('FullPanoWidthPixels', $full_width); - $exiftool->SetNewValue ('FullPanoHeightPixels', $pto->Panorama->{h}); + $exiftool->SetNewValue ('FullPanoHeightPixels', $full_height); $exiftool->SetNewValue ('FirstPhotoDate', Image::ExifTool::ImageInfo ($path_first)->{DateTimeOriginal}) if -e $path_first; $exiftool->SetNewValue ('LastPhotoDate', Image::ExifTool::ImageInfo ($path_last)->{DateTimeOriginal}) if -e $path_last; $exiftool->SetNewValue ('SourcePhotosCount', scalar @{$pto->Image}); @@ -89,9 +96,9 @@ https://developers.google.com/panorama/metadata/ -This tool assumes that for each project.pto, there is an equivalent project.jpg -that needs updated metadata. It also assumes that the original photos are -available to extract EXIF data info. +This tool assumes that for each project.pto, there is an equivalent +equirectangular project.jpg that needs updated metadata. It also assumes that +the original photos are available to extract EXIF data info. =head1 LICENSE This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |