DeduplicateSimilarImages

이미지 처리, 최적화

설명

지각적으로 유사한 간접 이미지 XObjects를 찾고 해당 참조를 결정론적 정규 이미지로 리디렉션하며 선택적으로 중복 객체를 제거합니다

후보는 인코딩된 컨테이너 필드를 제외한 뒤 의미론적 이미지 사전이 같아야 하며, 이어서 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;

매개변수

MaxHashDistance두 64비트 차이 해시 사이의 최대 Hamming 거리로 0~7 범위
MaxMeanError디코딩된 샘플 전체에서 0부터 255까지의 최대 평균 절대 채널 차이
MaxChannelError샘플링한 색상 채널에서 0~255 범위의 최대 절대 차이
OptionsPDF_RESOURCE_DEDUP_DRY_RUN, PDF_RESOURCE_DEDUP_GARBAGE_COLLECT, 두 플래그 모두 또는 0
Stats디코딩, 후보, 비교, 허용 오류, 참조, 페이로드 및 객체 수집 카운터를 받습니다

반환 값

Positive value결합되었거나 시험 실행에서 보고된 유사 이미지 객체 수
0허용 가능한 쌍을 찾지 못했거나 불러온 문서가 없거나 임계값 또는 옵션이 잘못되었습니다

비고

수락된 각 그룹에서 가장 낮은 객체 번호와 세대가 정규 이미지가 됨

/Length, /Filter 및 /DecodeParms는 인코딩된 저장소를 설명하므로 다를 수 있지만 치수, 색상 공간, 비트 심도, 마스크, 디코딩 배열, 보간, 선택적 콘텐츠, 메타데이터 및 기타 의미론적 사전 항목은 일치해야 합니다

디코딩할 수 없는 이미지는 건너뛰고 DecodeFailures에 계산합니다

해시는 인덱싱된 8개 밴드로 분할되어 디코딩된 샘플을 비교하기 전에 지원 거리 범위의 후보 검색을 제한합니다

고정된 64 × 64 격자를 샘플링하므로 의도적으로 근사한 시각 작업입니다. 따라서 모든 임곗값이 0이어도 샘플링 격자보다 작은 차이는 누락될 수 있습니다

바이트 단위로 정확한 증명이 필요하면 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