Der Freeman-Code (auch Kettencode oder Chain-Code) ist die pixelweise Kodierung einer Kontur oder Linie durch die Angabe,
in welcher Richtung das nächste Pixel liegt. Er ist nach seinem Erfinder Herbert Freeman benannt. Für die Definition des Codes existieren unterschiedliche Varianten.
Hierbei wird ausgehend von der aktuellen Position den Richtungen Ost, Nordost, Nord etc. ein Wert von 0 bis 7 zugeordnet:
3 2 1
4 * 0
5 6 7
Das aktuelle Pixel wird auf 0 gesetzt, wobei dann die Richtungen durch die Zahlen 1 bis 8 durch folgende Matrix bestimmt sind:
4 3 2
5 0 1
6 7 8