在我的工作中,我經常使用來自多個來源的圖像進行印刷行銷,有時當我要求提供高解析度圖像(而不是他們一開始給我的低解析度圖像)時,我會被故意提供相反,有時我可能會懷疑同樣的情況,因為我在背後得到了一個簡單地從JPEG 轉換而來的TIFF。
我知道你可以用音訊檔案來做到這一點檢測假無損 FLAC 檔。
那麼有沒有什麼軟體/工具可以檢測:
- 解析度升級(即使更微妙,從中分辨率到高分辨率)。
- 從有損格式(如 JPEG)轉換為 TIFF 或 PNG。
或者您對如何進行人工檢查有什麼建議和指示嗎?當然,我的工具之一就是 Photoshop。
答案1
解決你的第二個問題:
如何偵測從有損格式(如 JPEG)到 TIFF 或 PNG 的轉換
判斷影像之前是否經過 JPEG 壓縮的直覺方法是放大在影像上尋找 8x8 像素區塊之間不連續的跡象。如果 JPEG 壓縮率高(低品質),這些問題尤其明顯。
低質量/高壓縮 JPEG 另存為 PNG- 8x8像素塊清晰可見
但如果 JPEG 壓縮率低(高品質),那麼這些區塊可能很難看到...
高品質/低壓縮 JPEG 另存為 PNG- 8x8像素區塊難以識別
那麼如何判斷這張高品質影像是否在某個時刻經過了 JPEG 壓縮呢? JPEG 壓縮故意丟棄比強度資訊更多的顏色訊息,我們可以使用Photoshop 的 Lab 色彩模式進一步調查。
將影像轉換為 Lab 色彩模式(影像 -> 模式 -> Lab 色彩)。這會將影像從紅色、綠色和藍色通道轉換為 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% 準確,但自動化的且速度相當快。