105 itsPipeline = addSubComponent<jevois::dnn::Pipeline>(
"pipeline");
124 itsPipeline->process(inimg,
this, outimg, helper, idle);
132 doprocess(inframe,
nullptr,
nullptr,
false);
154 doprocess(inframe, &outimg,
nullptr,
false);
168 std::string
const & fpscpu = timer.
stop();
172 unsigned short winw, winh;
177 int x = 0, y = 0;
unsigned short w = 0,
h = 0;
181 doprocess(inframe,
nullptr, &helper, idle);
184 helper.
iinfo(inframe, fpscpu, winw, winh);
JEVOIS_REGISTER_MODULE(ArUcoBlob)
Detect and recognize multiple objects in scenes using OpenCV, NPU, TPU, or VPU Deep Neural Nets.
std::shared_ptr< jevois::dnn::Pipeline > itsPipeline
virtual void process(jevois::InputFrame &&inframe) override
Processing function, no video output.
virtual void process(jevois::InputFrame &&inframe, jevois::OutputFrame &&outframe) override
Processing function with video output to USB on JeVois-A33.
void doprocess(jevois::InputFrame const &inframe, jevois::RawImage *outimg, jevois::OptGUIhelper *helper, bool idle)
Processing function implementation.
virtual void process(jevois::InputFrame &&inframe, jevois::GUIhelper &helper) override
Processing function with zero-copy and GUI on JeVois-Pro.
virtual ~DNN()
Virtual destructor for safe inheritance.
DNN(std::string const &instance)
Constructor.
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
StdModule(std::string const &instance)
std::string const & stop(double *seconds)
void paste(RawImage const &src, RawImage &dest, int dx, int dy)