DeduplicateSimilarImages

Billedhåndtering, optimering

Beskrivelse

Finder perceptuelt lignende indirekte image XObjects, omdirigerer deres referencer til et deterministisk kanonisk billede og fjerner eventuelt dubletobjekterne

Kandidater skal have den samme semantiske billedordbog efter udelukkelse af felter for den kodede container og derefter bestå en tærskel for 64-bit difference-hash og en sammenligning af afkodede farveprøver på 64 × 64

Syntaks

Function TPDFlib.DeduplicateSimilarImages(
  MaxHashDistance, MaxMeanError, MaxChannelError,
  Options: Integer): Integer; Overload;
Function TPDFlib.DeduplicateSimilarImages(
  MaxHashDistance, MaxMeanError, MaxChannelError,
  Options: Integer;
  Out Stats: TPDFlibImageSimilarityDedupStats): Integer; Overload;

Parametre

MaxHashDistanceMaksimal Hamming-afstand fra 0 til 7 mellem de to 64-bit-differenshashes
MaxMeanErrorMaksimal gennemsnitlig absolut kanalforskel fra 0 til 255 på tværs af de afkodede prøver
MaxChannelErrorMaksimal absolut forskel fra 0 til 255 for enhver farvekanalprøve
OptionsPDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, begge flag eller 0
StatsModtager tællere for afkodning, kandidater, sammenligning, accepterede fejl, referencer, nyttelast og objektindsamling

Returværdier

Positive valueAntallet af lignende billedobjekter, der blev samlet eller rapporteret af en prøvekørsel
0Der blev ikke fundet et acceptabelt par, intet dokument er indlæst, eller en tærskel eller indstilling er ugyldig

Bemærkninger

Det laveste objektnummer og den laveste generation i hver accepteret gruppe bliver det kanoniske billede

/Length, /Filter og /DecodeParms beskriver kodet lagring og kan afvige, mens dimensioner, farverum, bitdybde, masker, afkodningsarrays, interpolation, valgfrit indhold, metadata og andre semantiske ordbogsposter skal stemme overens

Billeder, der ikke kan afkodes, springes over og tælles i DecodeFailures

Hashen opdeles i otte indekserede bånd, hvilket afgrænser kandidatsøgningen til det understøttede afstandsinterval, før afkodede samples sammenlignes

Dette er med vilje en omtrentlig visuel handling, fordi den sampler et fast gitter på 64 × 64, så forskelle, der er mindre end samplinggitteret, kan overses, selv når alle tærskler er nul

Brug DeduplicateResources, når der kræves dokumentation med bytepræcision, og brug en tørkørsel samt GetSimilarImageDeduplicationReportJSON, før du vælger tærskler for ukendt indhold

Eksempel

var
  Stats: TPDFlibImageSimilarityDedupStats;
  Merged: Integer;
begin
  Merged:= PDF.DeduplicateSimilarImages(2, 3, 12,
    PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, Stats);
  PDF.SaveToFile('optimised.pdf');
end;

Se også

GetSimilarImageDeduplicationReportJSON, TPDFlibImageSimilarityDedupStats, DeduplicateResources