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. Eingesetzt wird der Freeman-Code zum Beispiel für die Erkennung von Handschriften, zum Beispiel in Zusammenhang mit OCR-Technologien.
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