1. A method for detecting bar code candidates, the method comprising: scanning an area of interest to produce pixels of the scanned area; dividing the pixels into a plurality of blocks; for each block, determining an orientation of a spanning line or a lack of orientation when a spanning line is not present; clustering contiguous ones of the blocks having their orientation within a certain tolerance level, each cluster having a length and a width, the length longer than the width; and selecting candidate bar codes from the clusters, by determining if the orientation of each cluster's blocks is perpendicular to the length of the cluster.