JeVoisBase  1.0
JeVois Smart Embedded Machine Vision Toolkit Base Modules
DemoQRcode Class Reference

Simple demo of QRcode and barcode detection and decoding using the ZBar library. More...

Inheritance diagram for DemoQRcode:
Collaboration diagram for DemoQRcode:

Public Member Functions

 DemoQRcode (std::string const &instance)
 Constructor. More...
 
virtual ~DemoQRcode ()
 Virtual destructor for safe inheritance. More...
 
virtual void process (jevois::InputFrame &&inframe) override
 Processing function, no video output. More...
 
virtual void process (jevois::InputFrame &&inframe, jevois::OutputFrame &&outframe) override
 Processing function with video output to USB. More...
 
- Public Member Functions inherited from jevois::Module
 Module (std::string const &instance)
 
virtual ~Module ()
 
virtual void sendSerial (std::string const &str)
 
virtual void parseSerial (std::string const &str, std::shared_ptr< UserInterface > s)
 
virtual void supportedCommands (std::ostream &os)
 
- Public Member Functions inherited from jevois::Component
 Component (std::string const &instance)
 
virtual ~Component ()
 
std::shared_ptr< ComponentgetSubComponent (std::string const &instance) const
 
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 
void removeSubComponent (std::shared_ptr< Comp > &component)
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 
bool isTopLevel () const
 
bool initialized () const
 
std::string const & className () const
 
std::string const & instanceName () const
 
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 
getParamValUnique (std::string const &paramdescriptor) const
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 
void freezeParam (std::string const &paramdescriptor)
 
void unFreezeParam (std::string const &paramdescriptor)
 
void freezeAllParams ()
 
void unFreezeAllParams ()
 
std::string descriptor () const
 
void setParamsFromFile (std::string const &filename)
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 
void setPath (std::string const &path)
 
std::string absolutePath (std::string const &path="")
 
std::shared_ptr< Comp > addSubComponent (std::string const &instance, Args &&...args)
 
void removeSubComponent (std::shared_ptr< Comp > &component)
 
void removeSubComponent (std::string const &instance, bool warnIfNotFound=true)
 
std::shared_ptr< Comp > getSubComponent (std::string const &instance) const
 
bool isTopLevel () const
 
bool initialized () const
 
std::string const & className () const
 
std::string const & instanceName () const
 
std::vector< std::string > setParamVal (std::string const &paramdescriptor, T const &val)
 
void setParamValUnique (std::string const &paramdescriptor, T const &val)
 
std::vector< std::pair< std::string, T > > getParamVal (std::string const &paramdescriptor) const
 
getParamValUnique (std::string const &paramdescriptor) const
 
std::vector< std::string > setParamString (std::string const &paramdescriptor, std::string const &val)
 
void setParamStringUnique (std::string const &paramdescriptor, std::string const &val)
 
std::vector< std::pair< std::string, std::string > > getParamString (std::string const &paramdescriptor) const
 
std::string getParamStringUnique (std::string const &paramdescriptor) const
 
void freezeParam (std::string const &paramdescriptor)
 
void unFreezeParam (std::string const &paramdescriptor)
 
void freezeAllParams ()
 
void unFreezeAllParams ()
 
std::string descriptor () const
 
void setParamsFromFile (std::string const &filename)
 
std::istream & setParamsFromStream (std::istream &is, std::string const &absfile)
 
void setPath (std::string const &path)
 
std::string absolutePath (std::string const &path="")
 
- Public Member Functions inherited from jevois::ParameterRegistry
virtual ~ParameterRegistry ()
 

Protected Attributes

std::shared_ptr< QRcodeitsQRcode
 

Additional Inherited Members

- Protected Member Functions inherited from jevois::Component
virtual void preInit ()
 
virtual void postInit ()
 
virtual void preUninit ()
 
virtual void postUninit ()
 
virtual void preInit ()
 
virtual void postInit ()
 
virtual void preUninit ()
 
virtual void postUninit ()
 
- Protected Member Functions inherited from jevois::ParameterRegistry
void addParameter (ParameterBase *const param)
 
void removeParameter (ParameterBase *const param)
 
void callbackInitCall ()
 

Detailed Description

Simple demo of QRcode and barcode detection and decoding using the ZBar library.

Detect barcodes and QR-codes, and decode their contents.

QR-codes (Quick Response Codes) are popular 2D patterns that contain embedded information, such as a string of text, a URL, etc. They basically work like barcodes, coding information into a high-contrast, geometric pattern that is easier to detect and decode by a machine that more conventional human-written text or drawings.

One can generate QR-codes containing different kinds of information, for example using online QR-code generators, such as http://www.qr-code-generator.com/

JeVois detects and decodes QR-codes and other barcodes. The implementation of the detection and decoding algorithm used in JeVois is from the popular libraru ZBar, found at http://zbar.sourceforge.net/

Author
Laurent Itti
Display Name:
Demo QR-code
Videomapping:
YUYV 640 526 15.0 YUYV 640 480 15.0 JeVois DemoQRcode
Videomapping:
YUYV 320 286 30.0 YUYV 320 240 30.0 JeVois DemoQRcode
Videomapping:
NONE 0 0 0 YUYV 640 480 15.0 JeVois DemoQRcode
Videomapping:
NONE 0 0 0 YUYV 320 240 30.0 JeVois DemoQRcode
Email:
itti@usc.edu
Address:
University of Southern California, HNB-07A, 3641 Watt Way, Los Angeles, CA 90089-2520, USA
Main URL:
http://jevois.org
Support URL:
http://jevois.org/doc
Other URL:
http://iLab.usc.edu
License:
GPL v3
Distribution:
Unrestricted
Restrictions:
None

Definition at line 58 of file DemoQRcode.C.

Constructor & Destructor Documentation

DemoQRcode::DemoQRcode ( std::string const &  instance)
inline

Constructor.

Definition at line 65 of file DemoQRcode.C.

References itsQRcode.

virtual DemoQRcode::~DemoQRcode ( )
inlinevirtual

Virtual destructor for safe inheritance.

Definition at line 71 of file DemoQRcode.C.

Member Function Documentation

virtual void DemoQRcode::process ( jevois::InputFrame &&  inframe)
inlineoverridevirtual

Processing function, no video output.

Reimplemented from jevois::Module.

Definition at line 77 of file DemoQRcode.C.

References jevois::rawimage::convertToCvGray(), itsQRcode, and jevois::Module::sendSerial().

Member Data Documentation

std::shared_ptr<QRcode> DemoQRcode::itsQRcode
protected

Definition at line 210 of file DemoQRcode.C.

Referenced by DemoQRcode(), and process().


The documentation for this class was generated from the following file: