摘要:
A barcode system for generating and decoding a barcode with visual significance. The barcode system of the present invention includes an encoding module for receiving a message and a logo and generating a visually significant barcode based on these inputs. A decoding module is also provided for receiving an acquired version of a visually significant barcode that may have been degraded in a typical document handling channel (e.g., through the printing, scanning, or copying process) and for recovering the message specified by the visually significant barcode.
摘要:
Fiducial mark patterns for graphical bar codes (i.e., images that contain inconspicuous graphical modulations that encode embedded information) that are characterized by high detection robustness and good local deformation tracking are described. In one bar coding method, a base image is modulated with a graphical encoding of a message to produce a graphical bar code, and a fiducial mark pattern comprising a plurality of dots arranged to track one or more reference locations and local deformation across the graphical bar code is generated. In another bar coding method, fiducial mark candidates are identified in a fiducial mark pattern, a fiducial mark path is computed based upon one or more of the identified fiducial mark candidates, and one or more reference locations are identified based upon the computed fiducial mark path.
摘要:
A method and apparatus are provided for reducing the complexity of two-dimensional linear convolutions. All possible pixel patterns for a row of a pixel array are determined and multiplied by a corresponding row in a convolution kernel matrix. The partial convolution results are stored in a lookup table. In a processing step, each row of an input pixel window is compared to the possible pixel rows. Partial results associated with a matching pixel row are accessed from the lookup table. In one preferred embodiment of the invention, each row of an input pixel window is stored in a line cache. In another, equally preferred embodiment, a hash function is optionally used to derive an index value for each possible pixel row. The partial result associated with an equal index value is accessed. In another, equally preferred embodiment, double buffer stores two consecutive input pixel windows for processing. After each row of the first buffer is processed, the double buffer is shifted by one pixel. After the entire contents of the second buffer have been shifted into the first buffer, the next input pixel window is moved into the second buffer. Thus, the invention requires only one main memory access for each input pixel window. The partial convolution results are preferably calculated in floating point arithmetic and converted to a fixed point precision before they are stored as table entries.