Often times, when taking photos, the object is very large and not possible to position the camera perfectly in a frontal position, and the resulting photo shows a perspective. i.e. Nearer is larger and further is smaller.
For example, the photo on the left are some vines grown on a flat wall near the place I lived. The wall is actually quite large, probably more than 10 meters in height and 20 meters in width. Also, It is not possible to take a perfect frontal position from a distance because of other obstacles blocking the view.
Some time ago, I have written a short program using openFrameworks and openCV library (using perspective transform, to transform a 2D plane to another 2D plane in 3-space) to perspective correct a photo so that the photo looks like taken from a view perpendicular to the wall. Tools such as Photoshop or other photo touch up utilities out there might do similar trick, but I created a short program for this only so that in future I might add some other effects for photo processing also.