我经常有两组图片以相同的方式命名,我想编写检查差异的过程脚本。我正在寻找一个基本的检查,如果两个图像之间没有差异,丢弃其中一个,如果有一个像素差异,保留两个。对于那些质疑在photoshop中这样做是否明智的人来说,这是对另一个已经运行的脚本的补充,这个可选的检查将有助于减少我必须上传的文件数量。如果能帮上忙我会很感激。
发布于 2011-11-15 22:01:36
如果你真的要在Photoshop中做到这一点,以下是我的建议:
var doc1 = app.open(new File("~/Desktop/test1.bmp"));
var doc2 = app.open(new File("~/Desktop/test2.bmp"));
doc2.selection.selectAll();
doc2.selection.copy();
app.activeDocument = doc1;
var newLayer = doc1.paste();
newLayer.blendMode = BlendMode.DIFFERENCE;
var histogram = doc1.histogram;
for (var i = 1; i < histogram.length; ++i) {
if (histogram[i] > 0) {
alert('Different!');
break;
}
}
我将第二张图片粘贴到第一张图片中,并将得到的图层的混合模式设置为difference。如果两张图片完全相同,则生成的图片应该都是黑色的。因此,我检查除了0之外的任何颜色值是否在直方图中有任何像素。
我假设这两个图像具有相同的大小。
https://stackoverflow.com/questions/8107919
复制相似问题