gpt4 book ai didi

java - 使用 openImaj API 库进行人脸对齐

转载 作者:行者123 更新时间:2023-11-30 03:22:15 24 4
gpt4 key购买 nike

我想使用 openImaj 对齐我可以使用的几个面。我想读取一张jpg的人脸照片,对齐它,最后对齐后保存为jpg。这就是我被困住的地方。见下文

     public class FaceImageAlignment {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here

BufferedImage img = null;
img = ImageIO.read(new File("D:/face_test.jpg"));

//How to align face image using openImaj
//This is where I am stuck on doing face alignment. I tried doing the following
AffineAligner imgAlign = new AffineAligner();
//but I could not figure out how to do face alignment with it



BufferedImage imgAligned = new BufferedImage(//I will need to put aligned Image here as a BufferedImage);
File f = new File("D:\\face_aligned.jpg");
ImageIO.write(imgAligned, "JPEG", f);

}
}

我需要什么代码才能将face_test.jpg 与face_aligned.jpg 对齐?

最佳答案

对准器与面部检测器结合使用,因此您需要使用检测器来查找面部,然后将其传递给对准器。不同的对准器与不同的检测器实现相关,因为它们需要不同的信息来执行对准;例如,仿射对准器需要 FKEFaceDetector 找到的面部关键点。基本代码如下所示:

FImage img = ImageUtilities.readF(new File("..."));
FKEFaceDetector detector = new FKEFaceDetector();
FaceAligner<KEDetectedFace> aligner = new AffineAligner();
KEDetectedFace face = detector.detectFaces(img).get(0);
FImage alignedFace = aligner.align(face);
ImageUtilities.write(alignedFace, new File("aligned.jpg"));

关于java - 使用 openImaj API 库进行人脸对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31074580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com