DeduplicateSimilarImages

画像処理、最適化

説明

知覚的に類似した間接画像 XObject を検索し、その参照を決定的な標準画像にリダイレクトして、省略可能で重複オブジェクトを削除します

候補は、エンコードコンテナーフィールドを除外した後の意味的な画像辞書が同一でなければならず、さらに 64 ビット差分ハッシュしきい値と 64 × 64 のデコード済みカラーサンプル比較に合格する必要があります

構文

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

パラメータ

MaxHashDistance2 つの 64 ビット差分ハッシュ間の最大ハミング距離です。範囲は 0~7 です
MaxMeanErrorデコード済みサンプル全体における 0 ~ 255 の最大平均絶対チャネル差
MaxChannelErrorサンプリングされた任意のカラーチャンネルにおける 0~255 の最大絶対差
OptionsPDF_RESOURCE_DEDUP_DRY_RUN、PDF_RESOURCE_DEDUP_GARBAGE_COLLECT、両方のフラグ、または 0
Statsデコード、候補、比較、許容誤差、参照、ペイロードおよびオブジェクト収集のカウンターを受け取ります

戻り値

Positive value統合された類似画像オブジェクト数、または dry run で報告された数
0許容可能なペアが見つからない、文書が読み込まれていない、またはしきい値かオプションが無効です

備考

受け入れられた各グループで最小のオブジェクト番号と世代が正規画像になります

/Length、/Filter、/DecodeParms はエンコード済み格納形式を記述するため異なる場合がありますが、寸法、色空間、ビット深度、マスク、デコード配列、補間、オプショナルコンテンツ、メタデータ、およびその他の意味を持つ辞書エントリは一致する必要があります

デコードできない画像はスキップされ、DecodeFailures に計上されます

ハッシュは索引付きの 8 バンドに分割されるため、デコード済みサンプルを比較する前に、対応する距離範囲の候補検索が制限されます

固定の 64 × 64 グリッドをサンプリングするため、これは意図的に近似された視覚処理です。すべてのしきい値がゼロでも、サンプリンググリッドより小さい差異は見逃される場合があります

バイト単位で完全一致する証明が必要な場合は DeduplicateResources を使用し、不慣れなコンテンツのしきい値を選択する前に、ドライランと GetSimilarImageDeduplicationReportJSON を使用します

例

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

関連項目

GetSimilarImageDeduplicationReportJSON、TPDFlibImageSimilarityDedupStats、DeduplicateResources