codes on the item, and wherein finding the location of the characters includes locating the characters in a coordinate frame defined by the first and second codes. Preferably, locating the characters includes finding a known layout of a marking pattern on some of the items in the sequence based on the positions of the first and second codes, and locating the characters in the known layout. Typically, the marking pattern corresponds to a label affixed to the item, on which the codes and the characters are printed.
Further alternatively or additionally, finding the location of the characters includes:
defining a plurality of topological classes, each class characterized by a common position of the code in a marking pattern on the items in the class and an area, relative to thecode, in which the characters are located;
assigning the item to one of the classes based on the position of the code thereon; and
finding the characters in the area that characterizes the class to which the item is assigned.
Preferably, defining the topological classes includes defining classes that are invariant under rotation of the marking pattern. Most preferably, the code includes a barcode, and each class is further characterized by a reading direction of the barcode relative to the marking pattern. Typically, the marking pattern corresponds to a label affixed to the item, on which the codes and the characters are printed, wherein the classes are further characterized by a shape of the label, and wherein assigning the item to one of the classes includes assigning the item responsive to