Urgent.News

the world's headlines, one feed

Editions

Tech

Dithered QR codes

A QR code is a grid of squares that divide into two parts: function patterns and data modules. The function modules help scanners locate the code, while the data modules store the actual information. Brands often modify the data modules to create distinctive QR codes, even though this reduces scanning robustness. You can shrink the data modules, turning them into a low-resolution bitmap image with added noise.

This noisy appearance can be improved using error diffusion, specifically Floyd-Steinberg dithering, which spreads the scanning error to neighboring pixels. By applying this technique to the data modules, the image becomes cleaner while still maintaining scannability. The generator tool offers additional customization options, such as rotating the QR code or altering encoding.

However, these modifications mainly affect aesthetics, not scanning performance. When creating a QR code with embedded images, ensure sufficient redundancy and error correction for reliable scanning, especially on less-than-ideal surfaces or lighting conditions.

Written by urgent.news from Lobsters's reporting — not their text. Machine-written; read the original for the full account.

Read the original at andrewt.net →

More in Tech

★ Retraction: The App Store Rejection of the Week That Was, in Fact, a Correct Rejection

My disdain for astrology is so utter, and my esteem for Godier’s previous work so high, that it simply never occurred to me that he might have actually made and submitted to the App Store an astrology…

  • Article "App Store Rejection of the Week: Dark Hours" retracted due to incorrect premise
  • App "Dark Hours" was astrology-focused, not as initially claimed
  • Terry Godier's app was accurately rejected by App Store

Counting the days, revisited

  • Improved algorithm counts Gregorian dates to Julian Day numbers
  • Adjusts for leap days, aligns January and February correctly
  • Optimized calculations using multiply-and-shift operations