If I use the default configuration for the FeatureTracker node, the pipeline simply does not work. Please give a look at the following minimal reproducible example:
import depthai as dai
with dai.Pipeline() as pipeline:
left = pipeline.create(dai.node.Camera).build(dai.CameraBoardSocket.CAM_B)
leftFeatureTracker = pipeline.create(dai.node.FeatureTracker)
# Configuration here, see next post section.
left.requestFullResolutionOutput(type=dai.ImgFrame.Type.GRAY8, fps=15).link(leftFeatureTracker.inputImage)
outputQueue = leftFeatureTracker.outputFeatures.createOutputQueue()
pipeline.start()
while pipeline.isRunning():
img: dai.TrackedFeatures = outputQueue.get()
print(len(img.trackedFeatures))
The result is 0 for all messages.
I then gave a try to the following configurations:
# WORKS!
cornerDetector = dai.FeatureTrackerConfig.CornerDetector()
cornerDetector.numMaxFeatures = -1
leftFeatureTracker.initialConfig.setCornerDetector(cornerDetector)
Maybe your definition static constexpr const std::int32_t AUTO = 0; should be -1 instead?
# Does NOT work
cornerDetector = dai.FeatureTrackerConfig.CornerDetector()
cornerDetector.numMaxFeatures = 256
leftFeatureTracker.initialConfig.setCornerDetector(cornerDetector)
# Works again
cornerDetector = dai.FeatureTrackerConfig.CornerDetector()
cornerDetector.numMaxFeatures = 256
cornerDetector.thresholds.initialValue = 60000
leftFeatureTracker.initialConfig.setCornerDetector(cornerDetector)
Is there a way to set the maximum number of tracked features while setting the threshold to auto?
DepthAI v3.8 on Windows, Oak 4 D R9 with Luxonis OS v1.35.