Skip to main content

Hva er en kjedekode?

I datagrafikk og bildebehandling er en kjedekode en algoritme som brukes til å kode konturene til et objekt i et svart -hvitt, eller monokrom, bilde.Den resulterende sekvensen av koder kan enten beskrive hvordan du tegner konturen til objektet i forhold til bildet der det ligger i, eller det kan være en samling retninger i forhold til stedet på omrisset der algoritmen startet, og i hovedsak gir trinn somkan følges for å tegne objektet på nytt.Disse kodene kan normaliseres i henhold til en formel og deretter sammenlignes med en annen kjedekode for å avgjøre om to objekter er identiske.En kjedekode kan brukes til å isolere objekter i et datamaskinvisjonsprogram eller bildesegmentering i bildebehandling, selv om det mer ofte kan brukes i OPTISK karaktergjenkjenning (OCR) -programmer.

Selv om det er flere etablerte algoritmer for en kjedekode,Det grunnleggende konseptet er det samme i hver.Først er kanten av et objekt plassert, vanligvis ved å bevege piksel med piksel gjennom et rasterbilde.Når den er lokalisert, er posisjonen registrert og de omkringliggende kantene blir oppdaget.Avhengig av om deteksjonsalgoritmen vil bevege seg med klokken eller mot klokken, flyttes den nåværende plasseringen i en eller annen retning langs kanten til den går tilbake til den opprinnelige posisjonen.

hver gang strømposisjonen beveger seg, blir et tall registrert i kjedekoden.Dette tallet indikerer generelt retningen som ble flyttet langs kanten av objektet.For eksempel, hvis en kjedekode -algoritme følger en rett kant fra høyre til venstre, blir hver gang kanten spores til venstre, den numeriske koden for venstre legges til slutten av koden.Den resulterende koden er en streng med tall der, hvis sekvensen følges fra et vilkårlig utgangspunkt og en piksel plassert på hvert trinn, vil konturen til objektet være tegnet.

Når strengen med tall som utgjør kodener fullført, flere forskjellige algoritmer kan brukes på den for å gjøre sammenligninger mot andre kjedekodesekvenser.Først normaliseres tallet ved å rotere startnummeret til den laveste heltallverdien bestemmes.På denne måten kan to objekter som har samme disposisjon sammenlignes, uavhengig av hvor på hvert objekt kodingen startet.

Andre, mer komplekse versjoner av kjedekodealgoritmen eksisterer.Disse inkluderer vektorbasert koding der omrisset av et objekt beskrives med en sekvens av koordinater som er koblet sammen med linjer, selv om denne metoden kan være tapt når den brukes på fin detaljerte konturer.En versjon av algoritmen eksisterer også som bruker run-lengde koding (RLE) for ytterligere å komprimere kodene for eksepsjonelt store eller komplekse objekter slik at de kan lagres på en mer effektiv måte.