1. A method for generating a binary descriptor representing an image patch ( 200 ), comprising: determining a first specified number of features within an image patch ( 200 ); performing mean intensity difference tests for the first specified number of features; generating a binary string of the first specified number of features for the image patch ( 200 ) based on the mean intensity difference tests; dividing the image patch ( 200 ) into a plurality of sub-patches ( 204 ); for each sub-patch ( 204 ), determining a second specified number of features within the sub-patch ( 204 ); for each sub-patch ( 204 ), performing mean intensity difference tests for the second specified number of features; for each sub-patch ( 204 ), generating a binary string of the second specified number of features based on the mean intensity difference tests; and transforming the binary string for the image patch ( 200 ) and the binary strings for the sub-patches ( 204 ) into a binary descriptor representing the image patch ( 200 ).