'가짜' 고해상도 이미지(실제로 JPEG인 경우 TIFF, 의도적으로 확대된 이미지)를 감지하려면 어떻게 해야 합니까?

'가짜' 고해상도 이미지(실제로 JPEG인 경우 TIFF, 의도적으로 확대된 이미지)를 감지하려면 어떻게 해야 합니까?

내 작업 분야에서는 인쇄 마케팅을 위해 여러 소스에서 가져온 이미지를 사용하는 경우가 많으며 때로는 고해상도 이미지(처음에는 저해상도 이미지 대신 제공)를 요청했을 때 일부러 제공받았습니다. 대신에 업스케일된 파일이 있으며 때로는 JPEG에서 간단히 변환된 TIFF가 제공되는 것에 대해 동일한 의심을 할 수도 있습니다.

알아요오디오 파일로 할 수 있어요가짜 무손실 FLAC 파일을 탐지합니다.

다음을 감지할 소프트웨어/도구가 있습니까?

  1. 해상도 업스케일링(중간 해상도에서 고해상도로 더 미묘하더라도).
  2. JPEG와 같은 손실이 많은 형식을 TIFF 또는 PNG로 변환합니다.

아니면 인간적으로 확인하는 방법에 대한 조언이나 지침이 있습니까? 내 도구 중에는 물론 Photoshop이 있습니다.

답변1

두 번째 질문을 해결하려면:

JPEG와 같은 손실이 많은 형식에서 TIFF 또는 PNG로의 변환을 감지하는 방법

이미지가 이전에 JPEG로 압축되었는지 확인하는 시각적인 방법은 다음과 같습니다.확대이미지에서 8x8 픽셀 블록 사이의 불연속 징후를 찾으십시오. 이는 JPEG 압축이 높은 경우(낮은 품질) 특히 분명합니다.

낮은 품질의 JPEG
저품질/고압축 JPEG가 PNG로 저장됨- 8x8 픽셀 블록이 선명하게 보입니다.

그러나 JPEG 압축이 낮은 경우(고품질) 이러한 블록은 보기 어려울 수 있습니다.

여기에 이미지 설명을 입력하세요
고품질/저압축 JPEG가 PNG로 저장됨- 8x8 픽셀 블록은 식별하기 어렵습니다.

그렇다면 이 고품질 이미지가 어느 시점에서 JPEG로 압축되었는지 어떻게 알 수 있을까요? JPEG 압축은 의도적으로 강도 정보보다 더 많은 색상 정보를 삭제하므로Photoshop의 Lab 색상 모드추가 조사를 위해.

이미지를 Lab 색상 모드로 변환하세요(이미지 -> 모드 -> Lab Color). 이는 이미지를 빨간색, 녹색 및 파란색 채널에서 L, a 및 b 채널로 변환합니다.

L 채널은 밝기 채널로, 기본적으로 원본 이미지의 회색조 버전입니다. a와 b 채널은 색상 채널이지만 전통적인 의미는 아닙니다. 이 답변에는 전체 설명이 필요하지 않지만 다음에서 자세한 정보를 찾을 수 있습니다.위키피디아.

a 또는 b 채널을 검사하고 8x8 픽셀의 블록성을 찾습니다.

여기에 이미지 설명을 입력하세요
이전 이미지의 'a' 채널- 8x8 픽셀의 블록화 표시,JPEG 압축을 나타내는

a 또는 b 채널 중 하나가 8x8 픽셀 블록성을 나타내는 경우 이는 이미지가 과거 어느 시점에 JPEG로 압축되었다는 매우 좋은 표시입니다.

답변2

파티에 늦었지만 여기 내 몇 센트가 있습니다.

PHP를 설치할 수 있습니다. Windows, Linux, OSX 등에서 사용할 수 있습니다. 그런 다음 다음과 같은 텍스트 파일을 만들 수 있습니다.

<?php
$url = 'http://server.com/image.png';
$data = json_decode(file_get_contents('http://api.rest7.com/v1/image_upscaled.php?url=' . $url));

if (@$data->success !== 1)
{
    die('Function failed');
}
if ($data->current_width !== $data->original_width)
{
   echo 'Upscaled photo';
}
else
{
    echo 'Not upscaled';
}

사진이 확대되었는지 여부를 알려줍니다. 100% 정확하지는 않지만 자동화되어 있고 상당히 빠릅니다.

관련 정보