使用openImaj API库进行面对齐

时间:2015-06-26 13:33:37

标签: java face-detection face-recognition openimaj

我想使用openImaj对齐我所拥有的几张面孔。我想阅读一张jpg脸部照片,对齐它,最后在对齐后将其保存为jpg。这是我被困的地方。见下文

<div ng-app="app">

<div ng-controller="controller">

    <p>{{orderProperty}}</p>
    <div class="col-md-10">
        <table class="table table-hover table-bordered">
            <thead>
            <tr>
                <th>Status<a ng-click="orderProperty = 'a'">^</a></th>
                <th>Ref<a ng-click="orderProperty = 'b'">^</a></th>
                <th>Service<a ng-click="orderProperty = 'c'">^</a></th>
                <th>Domain<a ng-click="orderProperty = 'd'">^</a></th>
                <th>Service Owner<a ng-click="orderProperty     = 'e'">^</a></th>
                <th>Stage<a ng-click="orderProperty = 'f'">^</a></th>
            </tr>
            </thead>
            <tbody>
                <tr ng-repeat="x in projects | orderBy:orderProperty">
                    <td><b>{{x.a}}</b></td>
                    <td>{{x.b}}</td>
                    <td>{{x.c}}</td>
                    <td>{{x.d}}</td>
                        <td>{{x.e}}</td>
                        <td>{{x.f}}</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

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

1 个答案:

答案 0 :(得分:2)

对准器与面部检测器结合使用,因此您需要使用检测器找到面部,然后将其传递给对准器。不同的对准器与不同的检测器实现相关联,因为它们需要不同的信息来执行对齐;例如,仿射对准器需要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"));