DeduplicateSimilarImages

Bildehåndtering, Optimalisering

Beskrivelse

Finner perseptuelt like indirekte bilde-XObjects, omdirigerer referansene deres til et deterministisk kanonisk bilde, og fjerner eventuelt de dupliserte objektene

Kandidater må ha den samme semantiske bildeordboken etter at kodede containerfelt er holdt utenfor, og så bestå en 64-bit differansehash-terskel og en 64 × 64 dekodet fargeprøvesammenligning

Syntaks

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

Parametere

MaxHashDistanceMaksimal Hamming-avstand fra 0 til 7 mellom de to 64-bit differanse-hashene
MaxMeanErrorMaksimal gjennomsnittlig absolutt kanalforskjell fra 0 til 255 på tvers av de dekodete prøvene
MaxChannelErrorMaksimal absolutt forskjell fra 0 til 255 for en hvilken som helst prøvetatt fargekanal
OptionsPDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, both flags, or 0
StatsMottar tellere for dekoding, kandidater, sammenligning, akseptert feil, referanse, nyttelast og objektsamling

Returverdier

Positive valueAntallet lignende bildeobjekter konsolidert eller rapportert av en tørrkjøring
0Intet akseptabelt par ble funnet, intet dokument er lastet, eller en terskel eller et alternativ er ugyldig

Merknader

Det laveste objektnummeret og generasjonen i hver aksepterte gruppe blir det kanoniske bildet

/Length, /Filter og /DecodeParms beskriver kodet lagring og kan avvike, mens dimensjoner, fargerom, bitdybde, masker, dekodematriser, interpolering, valgfritt innhold, metadata og andre semantiske ordboksoppføringer må samsvare

Bilder som ikke kan dekodes hoppes over og telles i DecodeFailures

Hashen deles i åtte indekserte bånd, noe som begrenser kandidatesøket for det støttede avstandsområdet før dekodede prøver sammenlignes

Dette er en bevisst tilnærmet visuell operasjon fordi den sampler et fast 64 × 64-rutenett, så forskjeller mindre enn prøverutenettet kan overse selv når alle terskler er null

Bruk DeduplicateResources når byte-eksakt bevis kreves, og bruk en tørrkjøring pluss GetSimilarImageDeduplicationReportJSON før du velger terskler for ukjent innhold

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