made a quick demo here
http://lxer.eu/qr/#/app/qr As you can see a small change in the address creates a totally different set of colours and makes it easy to visually compare addresses (and QRcodes). A small typo would easily be noticed.
The algorithm for the colours is very simple, these are basically 4 2x1 blocks , the direction of each pair is either horizontal or vertical, based on the last digits of an bitcoin address. The are always 5 different colours (more is also possible, but with just 5 it is easier to see patterns). Each colour is based simply on a part of the btc address.