#pragma once #include #include #include #include #include #include #include #include namespace fsdk { #ifndef DOXYGEN_SHOULD_SKIP_THIS DECLARE_SMARTPTR(IHumanDetectionBatch); #endif /** * @brief Human detection result batch interface. * */ struct IHumanDetectionBatch : public IRefCounted { /** * @brief Returns size. * */ virtual size_t getSize() const noexcept = 0; /** * @brief Returns size of the results for the target index. * @param [in] imageIndex index of the image. * */ virtual size_t getSize(size_t imageIndex) const noexcept = 0; /** * @brief Returns detected Human. * @param [in] image source image. * @param [in] imageIndex index of the image. * @param [in] detectionIndex index of the detection. * @return Detected Human. * @see Human and Image for details. * @note image format must be R8G8B8, @see Format. * @note Result Human could be invalid if no humans were * detected on the target image or parameters are invalid. * */ virtual Human getHuman(const Image& image, size_t imageIndex, size_t detectionIndex) const noexcept = 0; /** * @brief Returns detection Span. * @param [in] index index of the detections Span. * @return Span of detections. * @see Span and Detection for details. * @note all spans should be based on user owned continuous collections. * @note Result Span could be empty in two cases: * 1. If no humans were detected in the target image. * 2. If detection request didn't contain the DCT_BOX flag. @see HumanDetectionType. * */ virtual Span getDetections(size_t index = 0) const noexcept = 0; /** * @brief Returns HumanLandmarks17 Span. * @param [in] index index of the HumanLandmarks17 Span. * @return Span of HumanLandmarks17. * @note all spans should be based on user owned continuous collections. * @see Span and HumanLandmarks17 for details. * @note Result Span could be empty in two cases: * 1. If no humans were detected in the target image. * 2. If detection request didn't contain the DCT_POINTS flag. @see HumanDetectionType. * */ virtual Span getLandmarks17(size_t index = 0) const noexcept = 0; }; }