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
| MaxHashDistance | Maximale Hamming-afstand van 0 tot 7 tussen de twee 64-bit-verschilhashes |
|---|---|
| MaxMeanError | Maximaal gemiddeld absoluut kanaalverschil van 0 tot 255 over de gedecodeerde samples |
| MaxChannelError | Maximale absolute afwijking van 0 tot 255 voor elk gesampled kleurkanaal |
| Options | PDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, beide vlaggen, of 0 |
| Stats | Ontvangt decoding-, kandidaat-, vergelijkings-, accepted-error-, referentie-, payload- en objectcollectie-tellers |
Retourwaarden
| Positieve waarde | Het aantal geconsolideerde of door een dry run gemelde vergelijkbare afbeeldingsobjecten |
|---|---|
| 0 | Er 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