gpt4 book ai didi

java - OpenImaj - 人脸检测 - 显示找到的人脸

转载 作者:行者123 更新时间:2023-11-29 02:59:31 24 4
gpt4 key购买 nike

我正在使用 OpenImaj 检测图像中的人脸。

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

import org.openimaj.image.FImage;
import org.openimaj.image.ImageUtilities;
import org.openimaj.image.MBFImage;
import org.openimaj.image.colour.Transforms;
import org.openimaj.image.processing.face.detection.DetectedFace;
import org.openimaj.image.processing.face.detection.FaceDetector;
import org.openimaj.image.processing.face.detection.HaarCascadeDetector;

public class FaceDetection {

public static void main(String[] args) {
MBFImage image;
try {
image = ImageUtilities.readMBF(new FileInputStream("image.jpg"));
FaceDetector<DetectedFace,FImage> fd = new HaarCascadeDetector(80);
List<DetectedFace> faces = fd. detectFaces (Transforms.calculateIntensity(image));

System.out.println(faces.size());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

要显示图像,我们可以使用 DisplayUtilities 类:DisplayUtilities.display(image);然而,找到的人脸属于 DetectedFace 类型。

你知道如何显示DetectedFace类型的人脸吗?

谢谢。

最佳答案

除了之前的回答:

  1. 使用 getFacePatch() 可以得到一张脸 FImage:

    final FImage faceFImage = face.getFacePatch();
  2. 现在这个 faceFImage 需要转换为 BufferedImage:

    final BufferedImage bufferedFaceImage = ImageUtilities.createBufferedImage(faceFImage);
  3. 现在这个 bufferedFaceImage 可以显示为:

    DisplayUtilities.display(bufferedFaceImage);

关于java - OpenImaj - 人脸检测 - 显示找到的人脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35899362/

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