DeduplicateSimilarImages

Afbeeldingsverwerking, optimalisatie

Beschrijving

Vindt perceptueel gelijkende indirecte image XObjects, verwijst hun referenties door naar een deterministische canonieke afbeelding en verwijdert optioneel de dubbele objecten

Kandidaten moeten na uitsluiting van gecodeerde-containervelden dezelfde semantische afbeeldingswoordenboek hebben, en vervolgens een 64-bit verschilhash-drempel en een 64 × 64 vergeleken kleursample doorstaan

Syntaxis

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

Syntaxis

MaxHashDistanceMaximale Hamming-afstand van 0 tot 7 tussen de twee 64-bit-verschilhashes
MaxMeanErrorMaximaal gemiddeld absoluut kanaalverschil van 0 tot 255 over de gedecodeerde samples
MaxChannelErrorMaximale absolute afwijking van 0 tot 255 voor elk gesampled kleurkanaal
OptionsPDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, beide vlaggen, of 0
StatsOntvangt decoding-, kandidaat-, vergelijkings-, accepted-error-, referentie-, payload- en objectcollectie-tellers

Retourwaarden

Positieve waardeHet aantal geconsolideerde of door een dry run gemelde vergelijkbare afbeeldingsobjecten
0Er is geen bruikbaar paar gevonden, er is geen document geladen of een drempelwaarde of optie is ongeldig

Opmerkingen

Het laagste objectnummer en de generatie in elke geaccepteerde groep worden de canonieke afbeelding

/Length, /Filter, and /DecodeParms describe encoded storage and may differ, while dimensions, colour space, bit depth, masks, decode arrays, interpolation, optional content, metadata, and other semantic dictionary entries must match Images that cannot be decoded are skipped and counted in

Afbeeldingen die niet gedecodeerd kunnen worden worden overgeslagen en geteld in DecodeFailures

De hash is verdeeld in acht geïndexeerde banden, wat de kandidatenzoektocht voor het ondersteunde afstandsbereik begrenst voordat gedecodeerde monsters worden vergeleken

Dit is bewust een benaderende visuele bewerking omdat ze een vast raster van 64 × 64 bemonstert, dus verschillen die kleiner zijn dan het bemonsteringsraster kunnen worden gemist zelfs wanneer elke drempel nul is

Gebruik DeduplicateResources wanneer byte-exact bewijs vereist is, en gebruik een dry run plus GetSimilarImageDeduplicationReportJSON voordat je drempels kiest voor onbekende inhoud

Voorbeeld

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

Zie ook

GetSimilarImageDeduplicationReportJSON, TPDFlibImageSimilarityDedupStats, DeduplicateResources