Visual code system for camera-equipped mobile devices and applications thereof
OwnerMichael Rohsinventor
Life of this patent
Estimating the term…
Abstract
A visual code system wherein camera-equipped mobile phones (or similar devices, such as wireless PDAs) are used to identify and decode images that contain one or more “visual codes.” By recognizing a code tag, the device can determine a bit pattern or an integer number encoded in the tag (the code value), the targeted object or image element, as well as additional parameters, such as the viewing angle of the camera. Code recognition is performed on the mobile device itself. When the mobile device is equipped with a wireless communication channel, it can be used to retrieve online content or to access information on the Internet based on the sensed code and its parameters. The retrieved content can then be presented on the mobile device.
Claims25
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.
A computer-readable medium storing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for decoding a visual code, the method 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.
A device for decoding a visual code, comprising:
- a memory;
- a digital camera;
- a display;
- and
- a processor in communication with the memory, the digital camera, and the display;
- wherein the processor
- captures a visual code image comprising at least one visual code;
- grayscales said visual code image;
- thresholds said visual code image;
- identifies regions of interest in said visual code image;
- calculates the orientations and shapes of the identified regions of interest within said visual code image;
- locates said at least one visual code within said visual code image;
- computes a first projective mapping of said at least one visual code from a visual code image coordinate system to a visual code coordinate system;
- computes a second projective mapping of said at least one visual code from the visual code coordinate system to the visual code image coordinate system;
- computes a rotation angle of said at least one visual code located in said visual code image;
- computes horizontal and vertical tilting values of said at least one visual code;
- computes a distance of said at least one visual code from said mobile device;
- reads encoded bits in said at least one visual code to produce at least one decoded value;
- and
- displays information 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.
Dependencies are inferred from the claim text.