HPDFScanBarcodeBitmap

Unit: HPDFBarcodeRecognitionScan

function HPDFScanBarcodeBitmap(const Request: THPDFBarcodeDecodeRequest;
  const SingleSymbolDecoder: IHPDFBarcodeDecoder;
  const Options: THPDFBarcodeScanOptions; out Symbols: THPDFBarcodeScanSymbols;
  out Info: THPDFBarcodeScanInfo; out Diagnostic: AnsiString): Boolean;

Lokalizuje rozdzielone kandydatów kodów kreskowych i dekoduje ich przez dostarczonego przez wywołującego backend pojedynczych symboli; współrzędne wyjścia i cztery rogi odnoszą się do oryginalnej bitmapy

Limity wyniku Request, tekstu i surowych bajtów obowiązują łącznie dla wszystkich opublikowanych symboli; fałsz zwraca pustą tablicę Symbols z diagnostyką, a EHPDFOperationCancelled propaguje bez publikowania wyników częściowych

Bitmapa jest zachowywana; wymiary wejścia to co najwyżej 4096 na 4096 z co najwyżej 4194304 pikselami, a puste albo niskokontrastowe wejście kończy się sukcesem bez symboli

Dla rastrów z długimi równoległymi paskami skaner najpierw próbuje kompletnego obrazu, usuwa zweryfikowane pokrycie symboli ze swoich prywatnych kafli grupowania i próbuje przybliżonych grup z szerszymi strefami ciszy przed mniejszymi fragmentami; kody matrix i inna grafika zachowują skanowanie region-first, próbując większych spójnych grup przed ciaśniejszymi fragmentami, tak by kompletny obrócony symbol nie wyczerpał najpierw przydziału kandydatów

Oryginalny deadline 2000 ms obowiązuje przez cały czas; późniejsze ciaśniejsze grupowanie nadal znajduje rozdzielone symbole, gdy wcześniejsza grupa je połączyła, a zweryfikowane pokrycie zapobiega redundantnym dekodowaniom fragmentów

Natywna geometria QR sprawdza te same dokładne wzorce finder przed alokacją i próbkowaniem kompletnej siatki kandydatów, unikając redundantnej pracy dla niepoprawnych kombinacji finder przy zachowaniu zaakceptowanych modułów i granic współrzędnych źródła

Multi-symbol raster barcode scanning