55 public jevois::Parameter<num>
61 using StdModule::StdModule;
79 for (
auto & pipe :
itsPipes) pipe->process(inimg,
this, outimg, helper, idle);
87 doprocess(inframe,
nullptr,
nullptr,
false);
109 doprocess(inframe, &outimg,
nullptr,
false);
123 std::string
const & fpscpu = timer.
stop();
127 unsigned short winw, winh;
131 int x = 0, y = 0;
unsigned short w = 0,
h = 0;
135 doprocess(inframe,
nullptr, &helper, idle);
138 helper.
iinfo(inframe, fpscpu, winw, winh);
151 itsPipes.emplace_back(addSubComponent<jevois::dnn::Pipeline>(
"p"+std::to_string(
itsPipes.size())));
156 std::vector<std::shared_ptr<jevois::dnn::Pipeline>>
itsPipes;
JEVOIS_REGISTER_MODULE(ArUcoBlob)
#define JEVOIS_UNUSED_PARAM(x)
Run multiple neural networks in parallel with an overlapping display.
std::vector< std::shared_ptr< jevois::dnn::Pipeline > > itsPipes
void doprocess(jevois::InputFrame const &inframe, jevois::RawImage *outimg, jevois::OptGUIhelper *helper, bool idle)
Processing function implementation.
void onParamChange(num const &JEVOIS_UNUSED_PARAM(param), unsigned int const &newval) override
virtual void process(jevois::InputFrame &&inframe, jevois::GUIhelper &helper) override
Processing function with zero-copy and GUI on JeVois-Pro.
virtual void process(jevois::InputFrame &&inframe, jevois::OutputFrame &&outframe) override
Processing function with video output to USB.
JEVOIS_DECLARE_PARAMETER_WITH_CALLBACK(num, unsigned int, "Number of networks to run and display", 4, jevois::Range< unsigned int >(1, 10), ParamCateg)
Parameter.
virtual ~MultiDNN2()
Virtual destructor for safe inheritance.
virtual void process(jevois::InputFrame &&inframe) override
Processing function, no video output.
void removeSubComponent(std::shared_ptr< Comp > &component)
void drawInputFrame(char const *name, InputFrame const &frame, int &x, int &y, unsigned short &w, unsigned short &h, bool noalias=false, bool casync=false)
bool startFrame(unsigned short &w, unsigned short &h)
void iinfo(jevois::InputFrame const &inframe, std::string const &fpscpu, unsigned short winw=0, unsigned short winh=0)
void require(char const *info, unsigned int w, unsigned int h, unsigned int f) const
std::string const & stop(double *seconds)
void paste(RawImage const &src, RawImage &dest, int dx, int dy)