Wielosymbolowe skanowanie kodów kreskowych rastra

HPDFCreateBuiltInBarcodeDecoder skanuje wiele oddzielnych symboli w tym samym rastrze, w tym mieszane symbole liniowe, QR Code, Data Matrix ECC 200 i PDF417 wspierane przez natywne dekodery

Istniejące przeciążenie DecodeLoadedPageBarcodes automatycznie używa tego skanera i zachowuje granice pikselowe każdego wyniku, zanim potok strony zmapuje je na współrzędne PDF

Wyniki są sortowane po pozycji górnej, potem lewej, a zduplikowane detekcje są scalane tylko wtedy, gdy symbologia, tekst, surowe bajty i nakładająca się pozycja się zgadzają; identyczne ładunki na osobnych pozycjach pozostają odrębnymi wynikami

Natywny helper i geometria

HPDFBarcodeRecognitionScan eksportuje HPDFScanBarcodeBitmap dla wywołujących, którzy potrzebują bogatszej tablicy THPDFBarcodeScanSymbols i statystyk THPDFBarcodeScanInfo

Przekaż THPDFBarcodeDecodeRequest, HPDFCreateBuiltInSingleBarcodeDecoder i THPDFBarcodeScanOptions.Default; fabryka pojedynczego symbolu zachowuje też bezpośredni dostęp do oryginalnego dekodera dla wyboru regionów specyficznego dla aplikacji

HPDFCreateScanningBarcodeDecoder owija dostarczony dekoder pojedynczego symbolu IHPDFBarcodeDecoder tym samym skanowaniem regionów, supresją duplikatów i zagregowanymi budżetami dla aplikacji potrzebujących tylko zwykłego interfejsu dekodera

Każdy THPDFBarcodeScanSymbol zawiera zwykły rekord Barcode, cztery narożniki Corners rastra, HasPerspectiveGeometry i per-symbolową Diagnostic

Geometria Data Matrix wyprowadza wypukły obwód z ekstremów wierszy pierwszego planu, odzyskuje cztery linie krawędzi, przecina linie sąsiednie i rozwiązuje homografię ośmiu parametrów, by próbkować środki modułów głosowaniem większościowym pięciu punktów

Dekoder próbuje wspieranych kwadratowych i standardowych prostokątnych rozmiarów ECC 200, obrotów i odbić, po czym weryfikuje ramki finderów i bloki Reed-Solomon przed zwróceniem tekstu albo surowych bajtów; obrót i trapezowa projekcja mogą być łączone z naprawialnym uszkodzeniem modułów danych

Dla zweryfikowanej geometrii Data Matrix OrientationDegrees mierzy kanoniczną górną krawędź zgodnie z ruchem wskazówek zegara od dodatniej osi x rastra, a Corners podążają po wykrytym obwodzie zgodnie z ruchem wskazówek zegara z nieokreślonym narożnikiem startowym

HPDFDataMatrixGeometry eksportuje HPDFLocateDataMatrixQuadrilateral i HPDFSampleBarcodeQuadrilateral, a HPDFDataMatrixDecoder eksportuje HPDFDecodeDataMatrixQuadrilateral dla aplikacji, które już znają cztery rzutowane narożniki

Wartości pewności opisują ścieżkę weryfikacji dekodera, a nie skalibrowane prawdopodobieństwo statystyczne; projekcyjnie próbkowane wyniki ECC 200 raportują obecnie 0,90 po udanej weryfikacji ramek i korekcji błędów

Dla innych natywnych symbologii narożniki helpera opisują zwrócone osiowo wyrównane granice, a HasPerspectiveGeometry jest false; ich istniejące wartości pewności i orientacji są zachowywane

Budżety i publikacja atomowa

Skaner używa binaryzacji Otsu i kafli zajmowania czterech pikseli, po czym łączy regiony pierwszego planu macierzowe od największej z trzech ograniczonych odległości sąsiedztwa w kierunku mniejszych; to próbuje kompletnego obróconego symbolu przed odłączonymi fragmentami, zachowując ciaśniejsze ponowienia dla oddzielnych symboli i fallback całego rastra dla nietypowej skali albo połączonej grafiki

Regiony, których kafle pierwszego planu są już pokryte zweryfikowanymi wynikami, są pomijane przed dekodowaniem, a piksele i format pikseli bitmapy źródłowej wywołującego są zachowywane

Domyślne limity to 256 dekodowań kandydatów, 67,108,864 łączne piksele kandydatów, 268,435,456 szacowanych bajtów roboczych i deadline żądania dwóch sekund; oryginalne sufity 4096 na 4096 wymiarów i 4,194,304 pikseli wejścia pozostają wymuszane

MaxResults, MaxTextCodeUnits i MaxRawBytes w żądaniu stosują się do zagregowanego opublikowanego zbioru wyników, włącznie z powtórzonymi ładunkami w różnych lokalizacjach

THPDFBarcodeScanInfo raportuje próbowaną liczbę kandydatów, skumulowane zdekodowane piksele, odrzuconych kandydatów i nakładające się zduplikowane wyniki

Anulowanie propaguje się jako EHPDFOperationCancelled; wyczerpane budżety albo błędy dekodera zwracają false z diagnostyką, a wszystkie niepowodzenia pozostawiają tablicę symboli pustą, nawet po udanym zdekodowaniu wcześniejszych kandydatów

Puste albo jednorodnie niskokontrastowe wejście kończy się sukcesem z pustą tablicą, a nieobsługiwana wysokokontrastowa grafika nie zwraca żadnego zgadywanego symbolu

Zakres rozpoznawania

Skanowanie macierzowe próbuje większych połączonych grup przed ciaśniejszymi fragmentami, zachowując ponowienia oddzielnych symboli i oryginalny deadline; natywna geometria QR waliduje dokładne wzorce finderów przed alokacją i próbkowaniem pełnej siatki kandydatów

Wiele symboli potrzebuje wystarczającej widocznej separacji tła dla grupowania regionów; dotykające się symbole, nakładające się symbole, gęsta otaczająca grafika, poważnie uszkodzone ramki lokalizatorów, malutkie rzutowane moduły i ekstremalna perspektywa mogą uniemożliwić lokalizację

DMRE, zakrzywione powierzchnie, odzyskiwanie odblasków fotograficznych i dodatkowe symbologie poza istniejącym zestawem natywnych dekoderów pozostają poza tym profilem

Niezależne fiksatury obejmują kolaż sześciu symboli z powtórzonymi ładunkami QR, obrócone i trapezowe obrazy Data Matrix, prostokątne ECC 200 oraz połączoną perspektywę z naprawialnym uszkodzeniem modułów danych

Zobacz Wbudowane rozpoznawanie OCR i kodów kreskowych dla wspieranych trybów ładunku i Dekodowanie kodów kreskowych wczytanej strony dla mapowania współrzędnych strona-rastr