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

MaxHashDistanceDistanza di Hamming massima da 0 a 7 tra i due hash differenziali a 64 bit
MaxMeanErrorDifferenza assoluta media massima dei canali da 0 a 255 tra i campioni decodificati
MaxChannelErrorDifferenza assoluta massima da 0 a 255 per qualsiasi canale di colore campionato
OptionsPDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, entrambi i flag oppure 0
StatsRiceve contatori di decodifica, candidati, confronto, errori accettati, riferimenti, payload e raccolta oggetti

Valori restituiti

Positive valueNumero di oggetti immagine simili consolidati o segnalati da un'esecuzione di prova
0Non è 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