ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Toggle main menu visibility
Loading...
Searching...
No Matches
Sam3Type.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <opencv2/opencv.hpp>
3
4
#include <array>
5
#include <string>
6
#include <utility>
7
#include <vector>
8
9
namespace
reusex::vision::tensor_rt
{
10
11
// Define BoxPrompt: <Label("pos"/"neg"), {x1, y1, x2, y2}>
12
using
BoxPrompt
= std::pair<std::string, std::array<float, 4>>;
13
14
// Single prompt unit: contains a piece of text and an optional set of boxes
15
struct
Sam3PromptUnit
{
16
std::string
text
;
17
std::vector<BoxPrompt>
boxes
;
18
Sam3PromptUnit
() =
default
;
19
explicit
Sam3PromptUnit
(
const
std::string &t,
20
const
std::vector<BoxPrompt> &b = {})
21
:
text
(t),
boxes
(b) {}
22
};
23
24
// Unified input struct
25
struct
Sam3Input
{
26
float
confidence_threshold
= 0.0f;
27
cv::Mat
image
;
// Required: input image
28
std::vector<Sam3PromptUnit>
29
prompts
;
// Required: all prompt words list corresponding to this image
30
Sam3Input
() =
default
;
31
explicit
Sam3Input
(
const
cv::Mat &img) :
image
(img) {}
32
Sam3Input
(
const
cv::Mat &img,
const
std::vector<Sam3PromptUnit> &p,
33
float
conf)
34
:
image
(img),
prompts
(p),
confidence_threshold
(conf) {}
35
};
36
}
// namespace reusex::vision::tensor_rt
reusex::vision::tensor_rt
Definition
Backend.hpp:6
reusex::vision::tensor_rt::BoxPrompt
std::pair< std::string, std::array< float, 4 > > BoxPrompt
Definition
Sam3Type.hpp:12
reusex::vision::tensor_rt::Sam3Input::Sam3Input
Sam3Input()=default
reusex::vision::tensor_rt::Sam3Input::image
cv::Mat image
Definition
Sam3Type.hpp:27
reusex::vision::tensor_rt::Sam3Input::confidence_threshold
float confidence_threshold
Definition
Sam3Type.hpp:26
reusex::vision::tensor_rt::Sam3Input::Sam3Input
Sam3Input(const cv::Mat &img, const std::vector< Sam3PromptUnit > &p, float conf)
Definition
Sam3Type.hpp:32
reusex::vision::tensor_rt::Sam3Input::Sam3Input
Sam3Input(const cv::Mat &img)
Definition
Sam3Type.hpp:31
reusex::vision::tensor_rt::Sam3Input::prompts
std::vector< Sam3PromptUnit > prompts
Definition
Sam3Type.hpp:29
reusex::vision::tensor_rt::Sam3PromptUnit::Sam3PromptUnit
Sam3PromptUnit()=default
reusex::vision::tensor_rt::Sam3PromptUnit::text
std::string text
Definition
Sam3Type.hpp:16
reusex::vision::tensor_rt::Sam3PromptUnit::Sam3PromptUnit
Sam3PromptUnit(const std::string &t, const std::vector< BoxPrompt > &b={})
Definition
Sam3Type.hpp:19
reusex::vision::tensor_rt::Sam3PromptUnit::boxes
std::vector< BoxPrompt > boxes
Definition
Sam3Type.hpp:17
libs
reusex
include
vision
tensor_rt
Sam3Type.hpp
Generated by
1.17.0