1. A computer-implemented method, comprising: converting a portion of an image from a first domain to a second domain to generate a converted portion of the image, wherein the portion of the image comprises a plurality of pixels, wherein each pixel has a value, wherein the converted portion of the image comprises gradient magnitudes corresponding to changes in values for respective pixels in the portion of the image, wherein the plurality of pixels comprises a center pixel; finding one or more edge pixels in the portion of the image; using each of the one or more edge pixels and the center pixel, calculating a range of angles for each of the one or more edge pixels that contains one or more beams that each pass through both the edge pixel and the center pixel; using the range of angles for each of the one or more edge pixels, voting for each of the one or more edge pixels in a histogram having plurality of bins, wherein each bin of the plurality of bins corresponds to a quantization of angles; and using the histogram, detecting one or more features in the portion of the image.