1. A method of decoding a machine-readable symbol, comprising: acquiring at least one image of a machine-readable symbol having a plurality of three-dimensional marks formed in or on a surface of the machine-readable symbol, wherin each three dimensional marks is either a depression in the surface of the machine-readable symbol or a protuberance on the surface of the machine-readable symbol; identifying an array of cells from the acquired image, wherein each mark is disposed in one of the cells; using reference cells of the array of cells to classify nonreference cells of the array of cells as including or not including one of the marks therein; compiling classifications of the nonreference cells into a binary grid; and decoding the binary grid.