當我們需要對照圖片壓縮前後的差異,或是對照差異很小的波形圖或是頻譜圖等複雜的圖形時,若是用肉眼直接對照,看一兩張圖還好,若是有很多張圖要處理,那可真是傷眼。ImageDifferencer是一個簡單的程式,可以將兩張圖片做「減法」運算,並將運算結果最大化,讓兩張圖片的差異看起來更明顯,最後將結果直接輸出成另一張圖片。
取得ImageDifferencer
使用ImageDifferencer
本程式只提供命令列介面,使用方式很簡單,可以使用以下指令來執行:
java -jar ImageDifferencer.jar
執行後可以輸入圖片的輸入路徑和輸出路徑,以及輸出的格式。
也可以直接在命令列參數傳入路徑和格式,指令格式如下:
java -jar ImageDifferencer.jar INPUT_IMAGE_FILE_PATH_1 INPUT_IMAGE_FILE_PATH_2 OUTPUT_IMAGE_FILE_PATH [PNG/JPEG/TIFF/BMP/GIF]
檢查圖片壓縮品質
用MagicCat.jpg
這張大小7.1MB、解析度3776x2520的圖片來舉例,可以點我下載原圖。
將圖片壓縮後,只剩1.4MB。
比較壓縮圖和原圖的差異,結果圖如下:
差異愈大的話,細節愈明顯,代表兩張圖品質的差異愈多。
檢查聲音訊號壓縮音質
ImageDifferencer甚至還可以用來檢查聲音訊號的壓縮音質,原理很簡單,就是將兩個聲音訊號來源(如兩個音樂檔案)轉成頻譜圖,再相減之後比較差異程度,即可直接用肉眼看出聲音品質的差異。
以下來看看WAV轉AAC的頻譜差異。
首先看一下WAV檔案的頻譜圖。
再看一下使用FAAC參數-q 700
轉出來的AAC檔案。
將它們使用ImageDifferencer處理之後,就可以知道兩者的音質差異了!