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/