1. 程式人生 > >beyond compare 命令列批量比對圖片

beyond compare 命令列批量比對圖片

前言

 

  beyond compare軟體是一款對比功能非常強大的軟體,它可以用來比對圖片、文字、表格、MP3等等,用起來很方便、直觀。最近在使用的時候,因為要批量比對很多的圖片,一張一張的圖片比對要一個一個開啟再比對感覺很麻煩,我就想能不能用指令碼批量比對,我只檢查批量比對出來的結果就好。還真的找到了,beyond compare支援命令列,這個軟體好強大(*^_^*),有沒有沒有(^ ^)。

1、 命令列安裝

mac版安裝:

  • 先去官網下載BeyondComPare
  • 安裝過BeyondComPare後開啟——>BeyondComPare——>安裝命令列工具

 

2、命令列對比

2.1  比較2個檔案

查詢官網手冊,Mac上比對2個檔案命令:

bcompare file1 file2

  結果:

  命令會直接開啟beyond compare軟體,並且開啟要比對的2張圖片。如下圖所示:下圖是我用命令列開啟的2張圖片,比對不一致的地方,預設會用紅色顯示

 

2.2 使命令列批量比較檔案並生成html格式的差異報告。

比對不同型別的資料,生成報告的指令碼不同,具體的可參考官網。生成圖片比對報告的指令碼如下:

picture-report layout:<layout> [options:<options>] [title:<report title>] output-to:(printer|clipboard|<filename>) [output-options:<options>] [<comparison>]

 

  引數說明:

    • layout:控制報告的生成,是並行的還是立即
    • options:可選項,每一個layout不一樣
    • title:控制顯示在報告頂部的標題
    • output-to:控制輸出,可以是檔案、剪貼簿或者印表機
    • output-options:可選的,並且對每個輸出目標使用不同的選項

3、批量比對

複製指令碼到一個檔案,儲存檔案為MyCompareScript.text

picture-report layout:side-by-side options:display-mismatches output-to:%3
output-options:html-color %1 %2

python 中呼叫命令:

import subprocess
def compare_img(src_pic,target_pic,out_file):
    subprocess.Popen('bcompare -silent "@MyCompareScript" %s %s %s'%(src_pic, target_pic, out_file),shell=True)

 

4、參考資料

官網文件:http://www.scootersoftware.com/v4help/