Binarization
Binarization converts grayscale pixels to binary (black/white) using a threshold. Fixed thresholds work under uniform lighting; adaptive thresholds (dynamically calculated per local region) handle uneven lighting - modern smartphone QR readers use adaptive methods.
Challenging conditions: low-contrast codes, backlighting, reflective surfaces, and motion blur. Error correction compensates for some misclassifications, but high-contrast printing in appropriate environments remains the best approach.