gpt4 book ai didi

java - 使用 BoofCV 跟踪快速移动的基准点

转载 作者:行者123 更新时间:2023-11-30 08:32:47 25 4
gpt4 key购买 nike

我正在尝试使用打印的二进制基准来跟踪一个人的头部。当人移动缓慢时它可以很好地追踪,但当他们快速移动头部时,它会失去追踪,然后在他们停止移动时重新获得追踪。当他们快速移动时,我该怎么做才能跟踪他们?

作为引用,这里有截图和代码:

    camera = UtilWebcamCapture.openDefault(1920, 1080);

intrinsicParameters = new IntrinsicParameters();
intrinsicParameters.setCx(camera.getViewSize().getWidth()/2f);
intrinsicParameters.setCy(camera.getViewSize().getHeight()/2f);
intrinsicParameters.setFx(1);
intrinsicParameters.setFy(1);
intrinsicParameters.setWidth((int)camera.getViewSize().getWidth());
intrinsicParameters.setHeight((int)camera.getViewSize().getHeight());

detector = FactoryFiducial.squareBinary(
new ConfigFiducialBinary(1),
ConfigThreshold.local(ThresholdType.LOCAL_SQUARE, 10),
//ConfigThreshold.fixed(100),
GrayU8.class);
detector.setIntrinsic(intrinsicParameters);
...
while (true) {
BufferedImage image = camera.getImage();
GrayU8 input = ConvertBufferedImage.convertFrom(image, (GrayU8) null);

WorldToCameraToPixel transform;

try {
detector.detect(input);

Se3_F64 targetToSensor = new Se3_F64();
for (int i = 0; i < detector.totalFound(); i++) {
detector.getFiducialToCamera(i, targetToSensor);

transform = PerspectiveOps.createWorldToPixel(intrinsicParameters, targetToSensor);
Point2D_F64 centre = transform.transform(
new Point3D_F64(0, 0, 0));

System.out.println(centre);
}
} catch (Exception e) {
e.printStackTrace();
}
}

Head Tracker

谢谢!

最佳答案

我通过使用基准的初始位置创建对象跟踪器并在用户快速移动时使用它来解决这个问题。

关于java - 使用 BoofCV 跟踪快速移动的基准点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863708/

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