1. A method for calibrating a camera, comprising using a computing device to perform steps for: receiving a single input image; windowing the input image into a plurality of windows; for each window of the input image, iteratively recovering a current low-rank texture from the input image by using an iterative convex optimization process to update a current geometric transformation and to find a low-rank texture relative to the current geometric transformation until local convergence of the geometric transformation is achieved; repeating the iterated steps for each window until global convergence of the geometric transformation is achieved; and wherein the input image includes a known pattern having known deformations, and wherein the current geometric transformation for each window of the input image is used in combination with the known deformations of the known pattern to calibrate a camera used to capture the input image.