Percy - Perspective Correction

Plug-In News and Updates
Subscribe to my RSS feed or bookmark my blog to stay informed.

Bundles Available!
Save money when buying plug-in bundles! Click any purchase link to learn more.

A plug-in for the camera RAW image processing program Bibble.
Author: Sean Puckett (seanmpuckett@gmail.com).

Bibble 5 note: This is a Bibble 4 plug-in. It does not work with Bibble 5.

What does Percy do?

Percy is designed to allow you to manipulate and distort your images in various useful ways. Perspective correction, fisheye remapping, skewing, aspect change, scaling and rotation are all included in one easy to use plug-in.

Purchase PercyPRO Professional Version Now

Windows, Linux and Mac versions included in the same download. PercyPRO is now available for Windows, Macintosh (Intel and PPC), and Linux.

PercyPRO: $20 USD

Already purchased, but need an upgrade? Click Here.

If you purchase this plug-in, you do so knowing it is not compatible with Bibble 5. I do not provide installation support for Bibble 4 plug-ins, and in purchasing them you do so at your own risk. Further, I do not guarantee that any Bibble 4 plug-in will be available for Bibble 5.

Sample Output

A shot from the Georgia Aquarium. Just "defishing" and a little rotation to straighten the horizon. The third shot is a perspective correction.

Aquarium Off Info

Aquarium On Info

Aquarium PC Info

An extreme example; defished and severely perspective corrected.

Building Off Info

Building On Info

Here's another one, where a house in the middle of a group of skyscrapers needed the fisheye to bring in its surroundings but needed defishing to straighten up those lines.

House Off Info

House On Info

Here's a simple perspective correction: A street sign, taken at an odd angle.

Sign Off Info

Sign On Info

And a really tough one to get right, a defish (original not shown) rotated up and down to show two different areas of the marker as if they were head-on. It's tough to do this right because of the really wide field of view.

Mayors Defish Info

Mayors Top Info

Mayors Bottom Info

Edge Mirroring (Percy 1.3)

The Mir checkbox causes image areas that would otherwise be blank (out of frame) to be filled in with reflected imagery. This helps counteract the problem of reduced image area when rotating, and can be used for special effects with high distortions.

Percy No Mirror Info

Percy Mirror Info

An extreme example...

Percy Mirror Extreme Info

What can Percy Do?

Percy includes adjustments of the following types:

Fisheye Remapping

Convert a fisheye image into a rectilinear (normal) image. Perfect for owners of the Nikkor 10.5 or Sigma 8mm fisheyes, or other fisheye lenses.

Perspective Correction with Focal Length adjustment

Tired of your buildings leaning backwards? Can't afford a $1000 tilt/shift lens? Move a couple of sliders and watch things straighten right up. Unlike PC in Photoshop, Percy allows you to just the virtual focal length so you can make round things truly round.

Zooming and Shifting

Change the size of your image (within the sensor dimensions), or move it around in the data area. Silly when dealing with an undistorted image, but vitally important when doing correction and remapping.

Rotating, Skewing, Aspect Adjustments

Bibble's got built in rotation, but when using Percy, it's better to use Percy's tools as they're all integrated into the same equations. Skew your images to correct tilts that rotation can't fix, and use the Aspect changer to turn tall things short, or make wide things narrow.

High Quality Interpolation

Percy remaps your image at the sub-pixel level, making sure that every bit of image detail your camera captured comes through in the final output, no matter how many twists and turns it goes through to get there.

PercyPRO User Interface Guide

Percy has three sections that roughly organize the different tasks it can complete. Keep in mind, though, that you will often be moving back and forth between sections to get the right effect. Because the transformations are so interrelated, sometimes changing one setting requires changing another.

Enable Checkbox

The enable checkbox controls whether Percy's settings affect the image.

Reset Button

Clicking the reset button forces all of Percy's sliders to reasonable defaults, and disables the plug-in.

? Button

This button shows a popup with the version number, author, and homepage of the plug-in.

Transform Group

Percy Main 1.0 Info

The transformation group alters your image in various basic ways. It's mostly useful for adjusting the image after the Perspective and/or Remap functions have twisted and tortured it. That doesn't mean you can't use it on everyday images; in fact, you might find it quite useful!

Scale Slider

Adjust the zoom level of the image from -10x to +10x.

Rotate Slider

Allows rotation of the image from -45 to +45 degrees. Yes, this does the same thing that Bibble's built in "straighten" tool, however since Percy is doing transforms anyway, it makes sense to do them all at once for better image quality. So if you're using straighten in Bibble and also using Percy, transfer your straighten value from Bibble to Percy, and your image will be happier. Also you can nudge this slider with the mouse, something you can't do with Bibble's straighten tool.

Aspect Slider

The funhouse mirror slider. Changes the aspect ratio of the image, making it taller or wider as you need. This slider is quite useful for doing final corrections on perspective shots when you're having a hard time getting round things round and square things square. Stop fighting with the perspective controls and use this slider and everything will be happy.

Right and Down Sliders

These simply move the virtual image around in the bitmap area. Oftimes when dealing with perspective or remapping, the part of the image you want is off screen. Well, now you can get it back.

Perspective Group

This tab controls Percy's perspective remapping function. Unlike remappers in some $600 tools (which will remain cough..photoshop..cough nameless), Percy actually uses the same perspective texture mapping functions used by high end graphics workstations. So, you don't get strange effects with windows at the top of your buildings being bigger than the ones at the bottom, unless that's what you want. (I learn more about math writing these plugins than in a year of university courses.)

Yaw Slider

"Yaw" is airplane pilot lingo for "turning left and right." So use this slider to correct left/right perspective distortion. The slider is set in degrees, but really those don't matter -- it's the appearance of the image that matters. Move the slider until horizontal lines in your subject are parallel, and you're done. (Use the crop window as a ruler to help you get this right.)

Pitch Slider

Pitch means "looking up and down." So use this slider to correct leaning buildings. Just like Yaw, this is set in degrees, but also like Yaw, just move the slider until vertical lines are parallel -- use the crop window as a handy ruler for this.

Distortion Slider

Distortion controls the amount of perspective applied. More distortion means nearer objects are bigger than farther objects. Less distortion means ... the other way around. Think of the distortion slider as a focal length control. You know how with a long zoom, things look pretty flat even if they're in perspective? And with a wide angle, things look really racked? This slider does that, backwards. Low distortion = long focal length.

How to use it: you want more distortion if farther away objects appear larger than their nearer equivalents. You want less distortion if near objects are bigger than far objects.

Skew and Tilt Sliders

These guys are simple: They shove the side or top of the image over. It's silly to try and explain what they do with words. Just try them. You'll see.

Remapping Group

Percy Remap 1.0 Info

This group alters the image's "mapping function", changing the type of lens from one to another. If you want to "defish" a fisheye lens, or simulate one, you'll use this tab.

Enable Remapping Checkbox

This checkbox enables the functions of this tab.

Source Lens Type

Choose the type of lens the original image was shot with (or that you want to pretend it was shot with). If you want to keep it real, then 99% of the time you'll select "Standard (rectiliniar)" for images shot with a regular lens, and "Fisheye (equisolidular)" when you're using a fisheye attachment. Available choices are:

  • Standard (rectilinear) - the usual camera lens that makes sure all straight lines are (reasonably) straight.
  • Fisheye (equisolid) - the usual fisheye lens that warps distant lines away from the centre of the lens.
  • Orthographic (orb) - looks something like the reflection of the image on a hemispherical mirror.
  • Stereographic (conform) - a more pleasing fisheye image that distorts less than the equisolid.
  • Equidistant (linear) - an unusual special effect lens.

Source Power Slider

This controls the strength (focal length, if you will) of the source lens. Basically, adjust this until your output looks right.

Important: See below "Calibration Tips" on getting Percy configured for your fisheye lens(es).

Output Lens Type

Same list as Source Lens. Percy converts a lens of the Source type to a lens of the Output type. So, if you want, you can simulate a fisheye image with a standard lens. Only, don't expect to get 180 degrees field of view!

Output Power Slider

Similar to the Source Power slider. Generally, though, you'll leave this set to 1.0 as otherwise things just get a little weird.

Notes

Fisheye Calibration Tips

Percy doesn't assume anything about your lenses and cameras, so you'll have to calibrate it for each combination.

This is easier than you might think.

  1. Print some graph paper with big bold lines with big squares. Go to this page: http://incompetech.com/beta/linedGraphPaper/plain.html and tell it you want a grid line weight of 2 points, a grid spacing of 2 lines per inch, and click the black grid colour button. Then print the resulting PDF. (It doesn't matter how big the paper is, as long as the lines are bold and straight and make square boxes.)
  2. Take a picture of the graph paper with your fisheye lens, head on, trying to fill the frame with the grid lines. Don't worry about being perfectly perpendicular; we're not trying to fix perspective, we're just going to make the lines straight. Lighting isn't important, either. Just take a picture so you can see the lines.
  3. Load up the picture in Bibble, open Percy, select "Fisheye (equisolid)" as your source lens, and "Standard (rectilinear)" as your output lens.
  4. Move the S.Factor slider (probably to the left) until the graph paper's lines are straight. Use the crop window's edges to double check.
  5. You are done. Save Percy's settings with a useful name, like "Nikon D200 - Nikkor 10.5mm.Percy".

Load these settings into Percy whenever you want to defish an image taken with that camera and that lens. Different camera/lens combinations require different factors. That's why I don't include a drop list -- because if you learn how to calibrate Percy, you can use any camera and any fisheye, even crazy ones like "security" peepholes duct-taped to old extension tubes.

Settings that Work

Please email me your settings when you're happy with them. Give me the source lens/factor and tell me what camera and lens you're using. I'll add the settings here, and then people who don't want to bother with calibrating can just look things up.

  • Nikon D200 with Nikkor 10.5mm: Fisheye (equisolid) / -0.11

Getting Perspective Right

If you want perfect perspective correction, you're probably doing architectural photography, and you should stop reading this and go buy a tilt/shift lens. They're expensive, but nothing we can do with software can take the place of a shift lens. I might think I can do as good a job, but it's really not going to happen. Rectilinear distortion introduced by even a good quality standard lens is going to mess with the perfection you're after.

So, if you're going to use Percy, then your goal should not be perfection. Your goal should be "make it look good." Unless someone is looking at your print while standing right next to the object itself, "good" is all you need. (And if you're going to be dealing with comparisons to real-life objects... shouldn't you really consider that PC lens?)

Here's a process to follow (if you need to defish, do that first):

  1. Identify parallel lines on your subject. These could be walls, the sides of window frames, courses of bricks, whatever. In order to correct perspective, you need to know what the image should look like when perspective is corrected. And generally this means you want parallel lines on your subject to be parallel in the image.
  2. Use the crop window (temporarily) as a ruler to mark your parallels. Percy doesn't care where you put the crop window, it's for your eyes to use to see if Percy's doing a good job.
  3. Use the Yaw and/or Pitch sliders to make things parallel to the crop window edges. If they're off the same amount, use Rotate to adjust the horizon.
  4. If your lines are parallel but things are distorted in perspective, adjust the Distort slider as needed. You will probably need to tweak Yaw or Pitch again after you've adjusted the distortion. That's just the way it goes.
  5. Everything parallel and not too distorted, but now square things aren't square? Use the Aspect slider to fix that.
  6. Can't make horizontal and vertical lines meet at 90 degree angles? Try a bit of Tilt or Skew.

That should give you an image that's Good Enough. My job in creating Percy isn't to allow you to perfectly simulate reality -- my job is to give you the tools you need to make an image look good in a short amount of time, so you can go on to the next image.

Legal

Percy is copyright 2006 Sean M Puckett, all rights reserved. Percy may not be distributed except via direct download from its homepage at nexi.com/percy.

All content on nexi.com is the property and responsibility of the contributor. Don't steal. Use your head.