Patent ID: 7296747

Claim:
A method for decoding a visual code comprising: capturing a visual code image comprising at least one visual code utilizing a mobile device equipped with a digital camera; grayscaling said visual code image; thresholding said visual code image; identifying regions of interest in said visual code image; calculating the orientations and shapes of the identified regions of interest within said visual code image; locating said at least one visual code within said visual code image; computing a first projective mapping of said at least one visual code from a visual code image coordinate system to a visual code coordinate system; computing a second projective mapping of said at least one visual code from the visual code coordinate system to the visual code image coordinate system; computing a rotation angle of said at least one visual code located in said visual code image; computing horizontal and vertical tilting values of said at least one visual code; computing a distance of said at least one visual code from said mobile device; reading encoded bits in said at least one visual code to produce at least one decoded value; and displaying information on the mobile device associated with at least one of the identified regions of interest based on at least one of the at least one decoded value, the first projective mapping, the second projective mapping, the rotation angle, the horizontal tilting value, the vertical tilting value, and the distance.