Multi-symbol Raster Barcode Scanning

HPDFCreateBuiltInBarcodeDecoder skenuje víc oddělených symbolů ve stejném rasteru, tedy i smíšené lineární, QR Code, Data Matrix ECC 200 a PDF417 symboly podporované nativními dekodéry

Stávající overload DecodeLoadedPageBarcodes tenhle scanner použije automaticky a uchová pixelové meze každého výsledku, dřív než je page pipeline zmapuje na PDF souřadnice

Výsledky se setřídí podle horní pozice a pak levé a duplicitní detekce se sloučí jen tehdy, když souhlasí symbologie, text, surové bajty i překrývající se pozice; identické payloady na samostatných pozicích zůstávají samostatnými výsledky

Nativní helper a geometrie

HPDFBarcodeRecognitionScan exportuje HPDFScanBarcodeBitmap pro volající, kteří potřebují bohatší pole THPDFBarcodeScanSymbols i statistiky THPDFBarcodeScanInfo

Předejte THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder a THPDFBarcodeScanOptions.Default; factory jednoho symbolu navíc zachovává přímý přístup k původnímu dekodéru pro aplikačně specifický výběr regionů

HPDFCreateScanningBarcodeDecoder obalí dodaný single-symbol IHPDFBarcodeDecoder stejným skenováním regionů, potlačováním duplicit i agregátními rozpočty pro aplikace, které potřebují jen běžné rozhraní dekodéru

Každý THPDFBarcodeScanSymbol obsahuje běžný záznam Barcode, čtyři rastrové Corners, HasPerspectiveGeometry i per-symbol Diagnostic

Geometrie Data Matrix odvodí konvexní obal z extrémů popředí řádků, obnoví čtyři hranové linie, protne sousední linie a vyřeší homografii o osmi parametrech, aby vzorkovala středy modulů hlasováním většiny z pěti bodů

Dekodér vyzkouší podporované čtvercové i standardní obdélníkové velikosti ECC 200, rotace i zrcadlení a pak verifikuje finder ohraničení i bloky Reed-Solomon, dřív než vrátí text či surové bajty; rotace i lichoběžníková projekce se dají kombinovat s opravitelným poškozením datových modulů

U verifikované geometrie Data Matrix měří OrientationDegrees kanonickou horní hranu ve směru hodinových ručiček od kladné osy x rasteru, zatímco Corners řídí zjištěný obal po směru hodinových ručiček s nespecifikovaným startovním rohem

HPDFDataMatrixGeometry exportuje HPDFLocateDataMatrixQuadrilateral a HPDFSampleBarcodeQuadrilateral a HPDFDataMatrixDecoder exportuje HPDFDecodeDataMatrixQuadrilateral pro aplikace, které už čtyři projektivní rohy znají

Hodnoty jistoty popisují verifikační cestu dekodéru, nikoli kalibrovanou statistickou pravděpodobnost; projektivně vzorkované výsledky ECC 200 teď reportují 0.90 po úspěšné verifikaci ohraničení i opravy chyb

U ostatních nativních symbologií popisují helperovy rohy vrácené meze zarovnané s osami a HasPerspectiveGeometry je false; jejich stávající hodnoty jistoty i orientace se zachovávají

Rozpočty a atomická publikace

Scanner použije binarizaci Otsu i čtyřpixelové obsazenostní dlaždice a pak propojí regiony popředí matice od největší ze tří ohraničených sousedských vzdáleností k menším; tím vyzkouší kompletní otočený symbol, dřív než nesouvislé fragmenty, při zachování užších retry pro oddělené symboly i full-raster fallbacku pro neobvyklé měřítko či propojenou grafiku

Regiony, jejichž dlaždice popředí už pokrývají verifikované výsledky, se před dekódováním přeskočí a pixely i pixelový formát zdrojové bitmapy volajícího se zachovají

Defaultní limity jsou 256 kandidátních dekódování, 67 108 864 celkových kandidátních pixelů, 268 435 456 odhadovaných pracovních bajtů a dvousekundový deadline žádosti; původní stropy rozměrů 4096 krát 4096 i 4 194 304 vstupních pixelů zůstávají vynucené

MaxResults, MaxTextCodeUnits a MaxRawBytes v žádosti platí pro agregátní publikovanou množinu výsledků, tedy i opakované payloady na různých pozicích

THPDFBarcodeScanInfo reportuje zkoušený počet kandidátů, kumulativní dekódované pixely, odmítnuté kandidáty i překrývající se duplicitní výsledky

Zrušení se propaguje jako EHPDFOperationCancelled; vyčerpané rozpočty či chyby dekodéru vrátí false s diagnostikou a všechna selhání ponechají pole symbolů prázdné, i když se dřívější kandidáti dekódovali úspěšně

Prázdný či rovnoměrně nízkokontrastní vstup skončí úspěšně s prázdným polem a nepodporovaná vysokokontrastní grafika nevrátí žádný hádaný symbol

Rozsah rozpoznání

Skenování matic vyzkouší větší souvislé skupiny, dřív než užší fragmenty, se zachováním retry pro oddělené symboly i původního deadlinu; nativní QR geometrie validuje přesné finder patterny, dřív než alokuje a vzorkuje kompletní kandidátní mřížku

Víc symbolů potřebuje dostatečné viditelné oddělení pozadím pro grupování regionů; dotýkající se symboly, překrývající se symboly, hustá okolní grafika, těžce poškozené lokalizační ohraničení, drobné projektivní moduly i extrémní perspektiva lokalizaci mohou znemožnit

DMRE, zakřivené plochy, zotavení z fotografického odlesku i další symbologie nad rámec stávající sady nativních dekodérů zůstávají mimo tenhle profil

Nezávislé fixtury pokrývají koláž šesti symbolů s opakovanými QR payloady, otočené i lichoběžníkové obrázky Data Matrix, obdélníkové ECC 200 i kombinovanou perspektivu s opravitelným poškozením datových modulů

Podporované payload režimy popisuje Vestavěné rozpoznávání OCR a čárových kódů a mapování souřadnic stránka-raster Dekódování čárových kódů načtené stránky