Slik velger du kamera og programvare for lesing av strekkoder og DMC-koder
Denne artikkelen forklarer hvordan du leser strekkoder og DMC-koder (Datamatrix-koder) med den mest kostnadseffektive maskinsynskameraløsningen. I tillegg forklarer vi forskjellen mellom strekkoder og DMC-koder ved å diskutere fordeler og ulemper. Vi gir også en formel som hjelper deg med å beregne nødvendig oppløsning, og praktiske eksempler på lesing av strekkoder og DMC-koder.
Strekkode kontra DMC-koder
Det beste valget for kodelesing med industrielle maskinsynskameraer er å bruke DMC-kode i stedet for strekkoder. DMC-koder kan leses med kameraer med lavere oppløsning ved bruk av samme synsfelt som strekkoder. Derfor kan du bruke rimeligere kameraer ved lesing av DMC-koder. Dette betyr også at du med DMC-koder kan inspisere et større synsfelt med samme maskinvare og pris.
DMC-kode er en matrise av punkter, også kalt en datamatrise. Punktstørrelsen angis som modulstørrelse. For machine vision-algoritmer er det enklere å lese disse punktene enn svært tynne linjer, som strekkoder består av.
Den nødvendige oppløsningen bestemmes ut fra forholdet mellom arealet i synsfeltet vi ønsker å inspisere samtidig (altså innenfor én frame / ett bilde), og størrelsen på den minste detaljen.
DMC-koder er også langt mer kompakte enn strekkoder, noe som reduserer nødvendig etikettstørrelse. Her er et eksempel på en STREKKODE- og en DMC-kodeetikett som inneholder nøyaktig samme informasjon.
Eksempel på DMC-kode
Prisvurderinger for kodelesing
For kameraoppløsninger over 1,6 MP har shuttertype en betydelig innvirkning på prisen på det industrielle kameraet. En rolling shutter kan kun brukes når kamera og objekt står stille, mens en global shutter kan brukes når det er bevegelse. Hvis du ønsker å lese mer detaljert informasjon om forskjellen mellom rolling shutter og global shutter, kan du lese den dyptgående artikkelen om shuttertype i vårt kunnskapssenter.
Slik beregner du nødvendig kameraoppløsning for strekkode
For å beregne oppløsningen som trengs for å inspisere strekkodeetiketter, må vi kjenne bredden på den tynneste linjen i strekkoden vi ønsker å se, samt størrelsen på synsfeltet.
For å redusere nødvendig oppløsning kan vi enten øke størrelsen på den tynneste linjen i strekkoden eller redusere synsfeltet.
Slik beregner du nødvendig kameraoppløsning for DMC-kode
For å beregne oppløsningen som trengs for å inspisere DMC-kodeetiketter, må vi kjenne størrelsen på den minste prikken / firkanten (modulstørrelsen) i Data Matrix-koden samt størrelsen på synsfeltet.
For å redusere nødvendig oppløsning kan vi enten øke modulstørrelsen til DMC-koden eller redusere synsfeltet.
Minimum oppløsning kontra anbefalt oppløsning for kodelesing
Oppløsning er avgjørende for stabil og robust lesing av DMC-koder og strekkoder. I dette eksempelet beregner vi systemoppsettet i to scenarier: minimum oppløsning og anbefalt oppløsning.
Med minimum oppløsning ønsker vi minimum 1,5 piksler per linjebredde (strekkode) eller 1,5 piksler per punkt (DMC-kode). Hvis alle parametere er optimale (etikettkvalitet, lys, geometri osv.), eller du tar flere bilder av samme kode, kan dette fungere stabilt.
Den anbefalte oppløsningen er minst 2 piksler per linjebredde (strekkode) eller 2 piksler per punkt (DMC). Den beste løsningen er 3 piksler. Flere piksler per linjebredde / punkt betyr at kameraoppløsningen er høyere enn nødvendig. Det totale oppsettet vil bli dyrere. Flere piksler vil imidlertid også gi enklere, raskere, bedre og mer stabil lesing av DMC-koder og strekkoder.
Formler for beregning av oppløsning
Det finnes en formel du kan bruke for å beregne oppløsningen:
Kameraoppløsning = Synsfelt / systemoppløsning
Systemoppløsning = (tynneste linje eller modulstørrelse) / (minimum eller anbefalt oppløsning per tynneste linje eller modulstørrelse).
Eksempel: Hvilket kamera trenger jeg for å registrere en strekkode med en tynneste linje på 1 mm i et synsfelt på 1000*600 mm? Vi velger den anbefalte oppløsningen.
Systemoppløsning = 1 mm/2 piksler = 0,5 mm/piksel
Horisontal kameraoppløsning = 1000 mm (horisontalt FOV) / 0,5 mm (systemoppløsning) = 2000 piksler
Vertikal kameraoppløsning = 600 mm (vertikalt FOV) / 0,5 mm (systemoppløsning) = 1200 piksler
Systemet vårt trenger et kamera med en oppløsning på minst 2000*1200 piksler = 2,4 MP-kamera.
Hvis objektet står stille, altså rolling shutter-kamera, anbefaler vi 6MP-kameraet MER2-630-60U3M til ca. 276 euro (inkludert objektiv). Hvis objektet beveger seg, anbefaler vi 3MP global shutter-kameraet MER2-302-56U3M til ca. 472 euro (inkludert objektiv).
Betydningen av bildebehandlingsprogramvare ved lesing av strekkode-/DMC-etiketter i machine vision
Valg av programvare er avgjørende ved lesing av DMC-koder og strekkoder. Den spiller en kritisk rolle for systemets ytelse når det gjelder å gjenkjenne og lese koder. Som en generell regel gjelder at jo bedre programvarealgoritmene er, desto bedre kan koder gjenkjennes, leses og dekodes.
Kraften i aurora vision-programvare
I Aurora Vision-programvare for bildebehandling kan du lage en svært kraftig algoritme for kodelesing med kun 2 verktøy og 5 minutter. Ett verktøy for å hente bildet og et annet verktøy for å oppdage strekkoden eller DMC-koden.
Verktøyene er svært raske og kraftige. I alle våre tester oppnådde vi et langt bedre forholdstall for lesesuksess på vanskelige bilder sammenlignet med kunder som bruker åpen kildekode-algoritmer for kodelesing. Dette gjelder spesielt når oppløsningen er begrenset eller lysforholdene er vanskelige, for eksempel ved refleksjoner.
På høyre side vises et eksempel på lesing av strekkoder i Aurora Vision Studio.
Applikasjon for kodelesing i praksis
Som nevnt vil en reduksjon av synsfeltet redusere den nødvendige kameraoppløsningen. Hvis synsfeltet er svært bredt sammenlignet med høyden, er en smart måte å sette opp et system på å ta flere bilder ved å flytte kameraene eller produktene.
Hvis synsfeltet der strekkoder eller DMC skal detekteres, for eksempel er 10 x 2 meter, kan du flytte ett kamera på en vogn og ta 5 bilder på 2 x 2 meter, i stedet for å bruke 5 kameraer
Linjeskanningskameraer vs. områdeskanningskameraer for kodelesing
Våre kunder spør ofte hva forskjellen er mellom linjeskannkameraer og arealskannkameraer for å registrere strekkoder.
Med linjeskannkameraer rekonstrueres et bilde i programvare linje for linje for inspeksjon. Dette skjer når et objekt passerer under sensoren. Linjeskannkameraer foretrekkes ved bruk av et transportbånd for å flytte produktene under kameraet. For linjeskannkameraer er det svært viktig å vite når hver pikselinje skal tas opp, fordi dette avhenger av hastigheten til objektet som passerer. Ofte brukes enkodere. Et linjeskannkamera er svært kostbart, og enkodere er nødvendige for å skape en stabil løsning.
Arealskannkameraer er langt rimeligere, mer fleksible og enklere å installere. De kan lese strekkoder og DMC-koder i svært ulike miljøer. Derfor bruker > 95 % av applikasjonene for lesing av strekkoder eller DMC-koder et arealskannkamera.
Konklusjon
Hvis du ønsker en kostnadseffektiv løsning for kodelesing, anbefaler vi å bruke DMC-koder. Datamatrisen kan leses med et kamera med lavere oppløsning, og kameraer med lav oppløsning er billigere enn kameraer med høy oppløsning. Hvis du ønsker å lese strekkoder eller ytterligere redusere prisen på løsningen for lesing av DMC-koder, anbefaler vi å bruke rolling shutter, dersom det er mulig, siden disse er billigere enn global shutter-kameraer.
Du kan også redusere nødvendig oppløsning ved enten å øke størrelsen på den tynneste linjen / prikken eller redusere synsfeltet. Synsfeltet kan også reduseres ved å bruke flere kameraer som dekker det totale synsfeltet.
Motta varsler om artikler i kunnskapssenteret?
Synes du artiklene i kunnskapssenteret vårt er nyttige? Sørg for å følge VA Imaging på LinkedIn, da vi publiserer nye artikler der så snart de blir utgitt.