I doubt Gaussian blur is an accurate model of real-world situations.
At the end of the day if you are worried about the codes being painted over print a few out and paint over them. Then scan with a variety of scanners.
If I had to come up with some more digital tests I would guess that a few of these are more representative of real-world situations:
- Lower contrast. For example lighten or darken the whole code. This would simulate things like scanning in low light or with glare.
- Block out sections of the code. This will test error correction levels and simulate partial damage or pockets of extreme glare.
- Skew the code in various ways. This simulates the perspective shift of people scanning the code from an angle.
Ideally combine them in a bunch of scenarios then try to scan with a variety of scanner implementations.