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