I'm not sure how to ask my question in generic terms, but here's what I want to do.

I have a 360°x180° panorama photo. I took the photo with an app (Google PhotoSphere). Unfortunately my app doesn't save the individual photos I took, only the auto stitched panorama, with the "center" of the photo of its choosing.

I'd like to recenter, crop, reproject, etc. the photo, just as I would as if I had stitched individual photos into a panorama with a panostitching application like Hugin.

How can I bring a full panorama photo into Hugin (or similar software) so that I can manipulate the photo to my choosing?

My goal would be to export a new panorama photo (and not necessarily a 360x180).

Currently my only option is to view the photo in panorama viewing software, and take screenshots. However, this of course limits my resolution to my monitor, and only in the projection they're presenting it in.


2 Answers 2


Using Hugin

Yes, since Google PhotoSphere panos are stored as equirectangular projections you can use Hugin to remap to other projections.

  1. Go into the Interface → Advanced (or Expert) mode.

  2. Click the Add Images... button to load the stitched panorama.

  3. Set the Lens type to Equirectangular and the HFOV to 360.

    This will load your 360x180 as a 360x180.

  4. Go into the GL preview window.

  5. Use the Move/Drag tab to change the viewpoint.

    Dragging horizontally changes yaw, dragging vertically changes pitch, right-dragging changes roll.

  6. Use the Projection tab to select a different projection.

    Watch your FoV setting, since not all projections play nice with 360.

  7. Use the Crop tab to set the crop.

  8. Once everything looks the way you want it to, save the Hugin project (.pto) file, and go to the Stitcher tab, select the file output format and size you want, and click the Stitch! button to create your new panorama.

Other Methods

You could also use the Flexify 2 Photoshop plugin from Flaming Pear, if the list of projections that Hugin offers is too modest for your taste. But it does cost money and it requires a Photoshop license. OTOH, the list of projections is very impressive. This is actually my go-to tool for reprojecting.

If nobody has the remapping you want to try, and if you're geeky and hands-on with math and code, you could also use the Gimp with the Mathmap plugin. There's a Flickr group dedicated to this.

  • \$\begingroup\$ Definite up vote for that! Awesome instructions! \$\endgroup\$ Commented Aug 20, 2015 at 21:50
  • \$\begingroup\$ Thanks for putting it all together! Exactly what I wanted to do! \$\endgroup\$
    – dvdhns
    Commented Aug 21, 2015 at 19:43
  • \$\begingroup\$ @dvdhns Glad I could help. I know how... um... obscure the Hugin UI can be sometimes. This is why I now own a PTGui license. :) \$\endgroup\$
    – inkista
    Commented Aug 21, 2015 at 21:03
  • \$\begingroup\$ You can also use Flexify filter using freeware IrfanView: load the filter from menu Image-->Adobe8BFplugins \$\endgroup\$
    – jumpjack
    Commented Jan 1, 2017 at 11:50
  • \$\begingroup\$ @jumpjack I'm on OSX, so no IrfanView for me. \$\endgroup\$
    – inkista
    Commented Mar 8, 2017 at 20:16

This FFMpeg command takes as input an equirectangular image and provides as output an image as if it was shot by a camera poiting in the direction specified by yaw and pitch parameters:

ffmpeg -i input.png -vf v360=e:flat:yaw=-30:pitch=-20 -y flat.png
  • -vf - video filter
  • v360 - v360 filter
  • e:flat - reproject from equirectangular to flat (see other available projections below and here)
  • yaw=-30 - move camera left
  • pitch=-20 - move camera down
  • -y - overwrite output without warning



annotated image

Projections supported by v360 filter:

  • \$\begingroup\$ this IS a reprojection, look carefully at the "cropped" image: the table is no more curved, it looks as it would look if a standard camera was pointed at it. I selected the table just because I thought the curved/straight difference was evident. The destination projection is "flat" in "v360=e:flat". I'll add an explanation. \$\endgroup\$
    – jumpjack
    Commented Aug 14, 2021 at 15:54
  • \$\begingroup\$ Original ffmpeg documentation is quite useless, it's too "cryptic", anyway I'll add a link. \$\endgroup\$
    – jumpjack
    Commented Aug 15, 2021 at 6:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.