1. A method comprising: partitioning a template into blocks using an image processor, said template comprising a user-fillable pre-printed form; scanning an image using an optical scanner, said image comprising said pre-printed form having user markings; aligning said image to said template using said image processor; matching image features with template features in said blocks of said template using said image processor; identifying displacement vectors for differences of said image features from said template features using said image processor; determining normalized cross correlation (NCC) between blocks of said image and each block of said template using said image processor; identifying peaks in said NCC using said image processor; selecting a displacement vector for a peak with highest NCC for each said block of said template using said image processor; identifying ambiguous template features in said image based on said displacement vector using said image processor; removing said ambiguous template features from said image using said image processor; and iteratively combining blocks and determining NCC for each said block of said template using said image processor to remove said ambiguous template features from said image using said image processor.