DeduplicateSimilarImages
Bildhantering, Optimering
Beskrivning
Hittar perceptuellt lika indirekta image XObjects, omdirigerar deras referenser till en deterministisk kanonisk bild och kan på begäran ta bort de duplicerade objekten
Kandidater måste ha samma semantiska bilddictionary efter att kodade containerfält exkluderats, och därefter klara en 64-bitars difference-hash-tröskel och en 64 × 64 jämförelse av avkodade färgsample
Syntax
Function TPDFlib.DeduplicateSimilarImages(
MaxHashDistance, MaxMeanError, MaxChannelError,
Options: Integer): Integer; Overload;
Function TPDFlib.DeduplicateSimilarImages(
MaxHashDistance, MaxMeanError, MaxChannelError,
Options: Integer;
Out Stats: TPDFlibImageSimilarityDedupStats): Integer; Overload;
Parametrar
| MaxHashDistance | Maximalt Hamming-avstånd från 0 till 7 mellan de två 64-bitars difference-hasharna |
|---|---|
| MaxMeanError | Maximal medelabsolut kanaldifferens från 0 till 255 över de avkodade samplet |
| MaxChannelError | Maximal absolut differens från 0 till 255 för vilken samplad färgkanal som helst |
| Options | PDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, båda flaggorna, eller 0 |
| Stats | Tar emot avkodnings-, kandidat-, jämförelse-, godtaget-fel-, referens-, nyttolast- och objektinsamlingsräknare |
Returvärden
| Positive value | Antalet lika bildobjekt som en torrkörning slog ihop eller rapporterade |
|---|---|
| 0 | Inget godtagbart par hittades, inget dokument är inläst, eller en tröskel eller option är ogiltig |
Anmärkningar
Lägsta objektnummer och generation i varje godtagen grupp blir den kanoniska bilden
/Length, /Filter och /DecodeParms beskriver kodad lagring och får skilja sig, medan dimensioner, färgrymd, bitdjup, masker, avkodningsarrayer, interpolering, optional content, metadata och andra semantiska dictionaryposter måste matcha
Bilder som inte kan avkodas hoppas över och räknas i DecodeFailures
Hashen delas i åtta indexerade band, vilket avgränsar kandidatsökningen för det stödda avståndsintervallet innan avkodade sample jämförs
Detta är en medvetet approximativ visuell operation eftersom den sampar ett fast 64 × 64-rutnät, så skillnader mindre än samplingsrutnätet kan missas även när varje tröskelvärde är noll
Använd DeduplicateResources när byteexakt bevis krävs, och använd en torrkörning plus GetSimilarImageDeduplicationReportJSON innan du väljer tröskelvärden för obekant innehåll
Exempel
var
Stats: TPDFlibImageSimilarityDedupStats;
Merged: Integer;
begin
Merged:= PDF.DeduplicateSimilarImages(2, 3, 12,
PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, Stats);
PDF.SaveToFile('optimised.pdf');
end;
Se även
GetSimilarImageDeduplicationReportJSON, TPDFlibImageSimilarityDedupStats, DeduplicateResources