Vad är en kedjekod?

I datorgrafik och bildbehandling är en kedjekod en algoritm som används för att koda konturerna för ett objekt i ett svartvitt eller monokrom bild. Den resulterande sekvensen av koder kan antingen beskriva hur man ritar konturen för objektet relativt den bild där den är belägen, eller den kan vara en samling vägbeskrivningar relativt platsen i konturen där algoritmen startade, i huvudsak tillhandahålla steg som kan följas för att göra om objektet. Dessa koder kan normaliseras enligt en formel och jämförs sedan med en annan kedjekod för att avgöra om två objekt är identiska. En kedjekod kan användas för att isolera objekt i ett datorvisionsprogram eller bildsegmentering vid bildbehandling, även om den oftare kan användas i OCR -program för optisk karaktärsigenkänning. Först är kanten på ett objekt beläget, vanligtvis genom att flytta pixel med pixEL genom en rasterbild. När den är belägen registreras positionen och de omgivande kanterna upptäcks. Beroende på om detektionsalgoritmen rör sig medurs eller moturs, flyttas den nuvarande platsen i en eller annan riktning längs kanten tills den återgår till det ursprungliga läget.

Varje gång den aktuella positionen rör sig registreras ett nummer i kedjekoden. Detta nummer indikerar i allmänhet den riktning som flyttades längs kanten av objektet. Till exempel, om en kedjekodalgoritm följer en rak kant från höger till vänster, läggs varje gång kanten till vänster, den numeriska koden för vänster till vänster till slutet av koden. Den resulterande koden är en sträng av siffror där, om sekvensen följs från en godtycklig utgångspunkt och en pixel placerad vid varje steg, skulle objektets kontur omarbetas.

en gång strängen av siffror som görE UP Koden är klar, flera olika algoritmer kan tillämpas på den för att göra jämförelser mot andra kedjekodsekvenser. För det första normaliseras antalet genom att rotera startnumret tills det lägsta heltalvärdet har fastställts. På detta sätt kan två objekt som har samma disposition jämföras, oavsett var på varje objekt kodningen startade.

Andra, mer komplexa versioner av kedjekodalgoritmen finns. Dessa inkluderar vektorbaserad kodning där konturen av ett objekt beskrivs av en sekvens av koordinater som är anslutna med linjer, även om denna metod kan vara förlust när den används på fint detaljerade konturer. En version av algoritmen finns också som använder körlängd kodning (RLE) för att ytterligare komprimera koderna för exceptionellt stora eller komplexa objekt så att de kan lagras på ett mer effektivt sätt.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?