对齐多张照片,使内容位于同一位置

Align multiple photos so contents are at same place

我有多张这样的图片

以及所有其他人都需要同意的主照片。

我希望所有照片中顶行的小方块都位于同一位置(因为我使用 Photoshop 脚本使用静态坐标对每个方块中心的颜色进行采样)。在许多照片中,相机移动了一点,所以我需要调整它们(主要是垂直)来修复这个问题。你知道有什么方法可以在许多(因为我有 1000 张)照片上轻松完成此操作吗?
我尝试在 Photoshop 中一次打开 30-40 个,但需要一种方法来放置和保留一些参考点。你知道有什么方法可以做到这一点吗?也许所有打开的文件或类似文件的通用指南?

您可以对齐垂直中心,然后使用代码分配水平中心:

function align_tiny_photos()
{ // align and distribute
var idAlgn = charIDToTypeID( "Algn" );
var desc48 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref16 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref16.putEnumerated( idLyr, idOrdn, idTrgt );
desc48.putReference( idnull, ref16 );
var idUsng = charIDToTypeID( "Usng" );
var idADSt = charIDToTypeID( "ADSt" );
var idAdCV = charIDToTypeID( "AdCV" );
desc48.putEnumerated( idUsng, idADSt, idAdCV );
executeAction( idAlgn, desc48, DialogModes.NO );

var idDstr = charIDToTypeID( "Dstr" );
var desc62 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref23 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref23.putEnumerated( idLyr, idOrdn, idTrgt );
desc62.putReference( idnull, ref23 );
var idUsng = charIDToTypeID( "Usng" );
var idADSt = charIDToTypeID( "ADSt" );
var idAdCH = charIDToTypeID( "AdCH" );
desc62.putEnumerated( idUsng, idADSt, idAdCH );
executeAction( idDstr, desc62, DialogModes.NO );
}

使用:

align_tiny_photos();