Mac OSにはもともと顔矩形認識機能がついていて,丸腰のMacでもAppleScript/JXAなどで呼び出せます。下のコード参照。
色補正やフォーマット統合は,大まかな下ごしらえ処理を何種類かPhotoshopのドロップレットで作っておいて,手動で「これを適用」と振り分けていくのが比較的楽です。
// 画像から顔のエリアを取得する処理
ObjC.import(‘Quartz’) ;
function run() {
return faceDetect(new CIImage(’~/Desktop/img.jpg’)) ;
}
function CIImage(imgPath) {
const imgPathStr = $.NSString.stringWithString(imgPath) ;
const fileURL = $.NSURL.fileURLWithPath(imgPathStr) ;
return $.CIImage.alloc.initWithContentsOfURL(fileURL) ;
}
function faceDetect(ciImageRef) {
const opts = $({‘CIDetectorAccuracy’ : $.CIDetectorAccuracyHigh}) ;
const detector = $.CIDetector.detectorOfTypeContextOptions($.CIDetectorTypeFace, $(), opts) ;
const faceList = ObjC.unwrap(detector.featuresInImageOptions(ciImageRef, opts)) ;
// 出力用に加工する
let res = [] ;
let bounds ;
faceList.forEach(function(aFace) {
// ここで得られる座標originは左下原点で,顔矩形の左下
bounds = aFace.bounds ;
// rectangles.add(top, left, width, height)用にArrayを作る。左上原点になるように変換する
res.push([ciImageRef.extent.size.height - (bounds.size.height + bounds.origin.y), bounds.origin.x, bounds.size.width, bounds.size.height]) ;
}) ;
return res ;
}