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

MaxHashDistanceMaksymalna odległość Hamminga od 0 do 7 między dwoma 64-bitowymi skrótami różnicowymi
MaxMeanErrorMaksymalna średnia bezwzględna różnica kanałów od 0 do 255 w zdekodowanych próbkach
MaxChannelErrorMaksymalna bezwzględna różnica od 0 do 255 dla dowolnego próbkowanego kanału koloru
OptionsPDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, obie flagi lub 0
StatsOtrzymuje liczniki dekodowania, kandydatów, porównań, zaakceptowanych błędów, odwołań, zawartości i zbierania obiektów

Wartości zwracane

Wartość dodatniaLiczba podobnych obiektów obrazów skonsolidowanych lub zgłoszonych przez przebieg próbny
0Nie 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