DeduplicateSimilarImages
Obsługa obrazów, Optymalizacja
Opis
Znajduje percepcyjnie podobne pośrednie obiekty XObject obrazów, przekierowuje ich odwołania do deterministycznego obrazu kanonicznego i opcjonalnie usuwa zduplikowane obiekty
Kandydaci muszą mieć ten sam semantyczny słownik obrazu po wyłączeniu pól zakodowanego kontenera, a następnie przejść próg 64-bitowego skrótu różnicowego i porównanie zdekodowanych próbek koloru 64 × 64
Składnia
Function TPDFlib.DeduplicateSimilarImages(
MaxHashDistance, MaxMeanError, MaxChannelError,
Options: Integer): Integer; Overload;
Function TPDFlib.DeduplicateSimilarImages(
MaxHashDistance, MaxMeanError, MaxChannelError,
Options: Integer;
Out Stats: TPDFlibImageSimilarityDedupStats): Integer; Overload;
Parametry
| MaxHashDistance | Maksymalna odległość Hamminga od 0 do 7 między dwoma 64-bitowymi skrótami różnicowymi |
|---|---|
| MaxMeanError | Maksymalna średnia bezwzględna różnica kanałów od 0 do 255 w zdekodowanych próbkach |
| MaxChannelError | Maksymalna bezwzględna różnica od 0 do 255 dla dowolnego próbkowanego kanału koloru |
| Options | PDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, obie flagi lub 0 |
| Stats | Otrzymuje liczniki dekodowania, kandydatów, porównań, zaakceptowanych błędów, odwołań, zawartości i zbierania obiektów |
Wartości zwracane
| Wartość dodatnia | Liczba podobnych obiektów obrazów skonsolidowanych lub zgłoszonych przez przebieg próbny |
|---|---|
| 0 | Nie znaleziono akceptowalnej pary, nie wczytano dokumentu albo próg lub opcja są nieprawidłowe |
Uwagi
Najniższy numer i generacja obiektu w każdej zaakceptowanej grupie stają się obrazem kanonicznym
/Length, /Filter i /DecodeParms opisują zakodowany sposób przechowywania i mogą się różnić, natomiast wymiary, przestrzeń barw, głębia bitowa, maski, tablice dekodowania, interpolacja, zawartość opcjonalna, metadane i inne semantyczne wpisy słownika muszą być zgodne
Obrazy, których nie można zdekodować, są pomijane i zliczane w DecodeFailures
Skrót jest dzielony na osiem indeksowanych pasm, co ogranicza wyszukiwanie kandydatów dla obsługiwanego zakresu odległości przed porównaniem zdekodowanych próbek
Jest to celowo przybliżona operacja wizualna, ponieważ próbkuje stałą siatkę 64 × 64; różnice mniejsze od siatki próbkowania mogą zostać pominięte nawet wtedy, gdy każdy próg wynosi zero
Użyj DeduplicateResources, gdy wymagany jest dowód zgodności bajtowej, a przed wyborem progów dla nieznanej zawartości wykonaj przebieg próbny i użyj GetSimilarImageDeduplicationReportJSON
Przykład
var
Stats: TPDFlibImageSimilarityDedupStats;
Merged: Integer;
begin
Merged:= PDF.DeduplicateSimilarImages(2, 3, 12,
PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, Stats);
PDF.SaveToFile('optimised.pdf');
end;
Zobacz również
GetSimilarImageDeduplicationReportJSON, TPDFlibImageSimilarityDedupStats, DeduplicateResources