Как мне найти "поддельные" изображения высокого разрешения (TIFF, если это действительно JPEG, намеренно увеличенные изображения)?
В своей работе я часто работаю с изображениями для печатного маркетинга из нескольких источников, и иногда, когда я просил изображения в высоком разрешении (вместо изначально низкого разрешения, которое они начинают с того, что дают мне), мне давали сознательно вместо этого, увеличенные в размерах, и иногда могут заподозрить то же самое для получения TIFF, который был просто преобразован из JPEG за моей спиной.
Я знаю, что вы можете сделать это с аудио-файлами, чтобы обнаружить поддельные файлы без потерь FLAC.
Итак, есть ли какие-нибудь программные средства / инструменты для обнаружения:
- повышение разрешения (даже если оно более тонкое, от среднего до высокого разрешения).
- преобразование из формата с потерями как JPEG в TIFF или PNG.
Или у вас есть какие-либо советы и советы о том, как по-человечески попытаться проверить? Среди моих инструментов, конечно же, Photoshop.
2 ответа
Чтобы ответить на ваш второй вопрос:
Как обнаружить преобразование из формата с потерями, такого как JPEG в TIFF или PNG
Визуальный способ определить, было ли ранее изображение сжато в формате JPEG, состоит в увеличении изображения и поиске признаков разрывов между блоками 8x8 пикселей. Это особенно очевидно, если сжатие JPEG было высоким (низкое качество).
JPEG низкого качества / высокой степени сжатия, сохраненный в формате PNG - хорошо видны блоки 8x8 пикселей
Но если сжатие JPEG было низким (высокое качество), тогда эти блоки могут быть трудно различимы...
JPEG высокого качества / низкого сжатия, сохраненный как PNG - блоки 8x8 пикселей трудно идентифицировать
Итак, как определить, было ли это высококачественное изображение сжато JPEG в какой-то момент? Сжатие JPEG намеренно отбрасывает больше информации о цвете, чем информации об интенсивности, и мы можем использовать цветной режим Photoshop Lab для дальнейшего изучения.
Преобразуйте ваше изображение в цветовой режим Lab (Изображение -> Режим -> Lab Color). Это преобразует изображение из красного, зеленого и синего каналов в каналы L, a и b.
Канал L - это канал Lightness, по сути, версия оригинала в оттенках серого. Каналы a и b являются цветовыми каналами, но не в традиционном смысле. Полное объяснение для этого ответа не требуется, но вы можете найти больше информации в Википедии.
Осмотрите канал a или b и посмотрите на блочность 8x8 пикселей.
'a' канал предыдущего изображения - видимая блочность 8x8 пикселей, указывающая на сжатие JPEG
Если каналы a или b демонстрируют блочность 8x8 пикселей, это очень хороший признак того, что изображение было сжато JPEG в какой-то момент в прошлом.
Я опаздываю на вечеринку, но вот мои несколько центов.
Вы можете установить 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% точно, но автоматизировано и достаточно быстро.