DeduplicateSimilarImages
Gestione delle immagini, ottimizzazione
Descrizione
Trova XObject immagine indiretti percettivamente simili, ne reindirizza i riferimenti a un'immagine canonica deterministica e può rimuovere i duplicati
I candidati devono avere lo stesso dizionario semantico dell'immagine dopo l'esclusione dei campi del contenitore codificato, quindi superare una soglia di hash differenziale a 64 bit e un confronto dei campioni di colore decodificati 64 × 64
Sintassi
Function TPDFlib.DeduplicateSimilarImages(
MaxHashDistance, MaxMeanError, MaxChannelError,
Options: Integer): Integer; Overload;
Function TPDFlib.DeduplicateSimilarImages(
MaxHashDistance, MaxMeanError, MaxChannelError,
Options: Integer;
Out Stats: TPDFlibImageSimilarityDedupStats): Integer; Overload;
Parametri
| MaxHashDistance | Distanza di Hamming massima da 0 a 7 tra i due hash differenziali a 64 bit |
|---|---|
| MaxMeanError | Differenza assoluta media massima dei canali da 0 a 255 tra i campioni decodificati |
| MaxChannelError | Differenza assoluta massima da 0 a 255 per qualsiasi canale di colore campionato |
| Options | PDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, entrambi i flag oppure 0 |
| Stats | Riceve contatori di decodifica, candidati, confronto, errori accettati, riferimenti, payload e raccolta oggetti |
Valori restituiti
| Positive value | Numero di oggetti immagine simili consolidati o segnalati da un'esecuzione di prova |
|---|---|
| 0 | Non è stata trovata alcuna coppia accettabile, nessun documento è caricato oppure una soglia o opzione non è valida |
Note
Il numero di oggetto e la generazione più bassi in ogni gruppo accettato diventano l'immagine canonica
/Length, /Filter e /DecodeParms descrivono la memorizzazione e possono differire; dimensioni, spazio colore, profondità, maschere, decode, interpolazione, contenuto facoltativo, metadati e altre voci semantiche devono coincidere
Le immagini che non possono essere decodificate vengono ignorate e conteggiate in DecodeFailures
L'hash viene diviso in otto bande indicizzate, limitando la ricerca dei candidati per l'intervallo di distanza supportato prima del confronto dei campioni decodificati
Operazione visiva intenzionalmente approssimativa: campiona una griglia fissa 64 × 64, quindi può ignorare differenze più piccole anche con soglie zero
Usare DeduplicateResources quando è richiesta una prova esatta a livello di byte, ed eseguire una simulazione insieme a GetSimilarImageDeduplicationReportJSON prima di scegliere le soglie per contenuti non familiari
Esempio
var
Stats: TPDFlibImageSimilarityDedupStats;
Merged: Integer;
begin
Merged:= PDF.DeduplicateSimilarImages(2, 3, 12,
PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, Stats);
PDF.SaveToFile('optimised.pdf');
end;
Vedere anche
GetSimilarImageDeduplicationReportJSON, TPDFlibImageSimilarityDedupStats, DeduplicateResources