JeVois
1.19
JeVois Smart Embedded Machine Vision Toolkit
|
|
Core types, components, hardware drivers, debugging tools, etc.
Classes | |
class | jevois::Camera |
JeVois camera driver class - grabs frames from a Video4Linux camera sensor. More... | |
class | jevois::CameraDevice |
Accessory class to hold all the data associated with a V4L2 camera device. More... | |
class | jevois::DynamicLoader |
Class to open shared object (.so) files and load functions contained in them. More... | |
class | jevois::Engine |
JeVois processing engine - gets images from camera sensor, processes them, and sends results over USB. More... | |
class | jevois::Gadget |
JeVois gadget driver - exposes a uvcvideo interface to host computer connected over USB. More... | |
class | jevois::InputFrame |
Exception-safe wrapper around a raw camera input frame. More... | |
class | jevois::Module |
Virtual base class for a vision processing module. More... | |
class | jevois::StdModule |
Base class for a module that supports standardized serial messages. More... | |
class | jevois::MovieInput |
Movie input, can be used as a replacement for Camera to debug algorithms using a fixed video sequence. More... | |
class | jevois::MovieOutput |
Video output to a movie file, using OpenCV video encoding. More... | |
class | jevois::OutputFrame |
Exception-safe wrapper around a raw image to be sent over USB. More... | |
class | jevois::Serial |
Interface to a serial port. More... | |
class | jevois::StdioInterface |
String-based user interface, simple terminal input/output to use on host. More... | |
class | jevois::UserInterface |
Abstract base class for a string-based user interface. More... | |
class | jevois::VideoBuf |
A V4L2 video buffer, to be held in a shared_ptr. More... | |
class | jevois::VideoBuffers |
Collection of buffers for V4L2 video frames (Camera or Gadget) with hooks to the MMAP'd areas. More... | |
class | jevois::VideoDisplay |
Video output to local screen. More... | |
class | jevois::VideoDisplayGL |
Video output to local screen. More... | |
class | jevois::VideoDisplayGUI |
Video output to local screen with basic GUI. More... | |
class | jevois::VideoInput |
Base class for video input, which will get derived into Camera and MovieInput. More... | |
class | jevois::VideoOutput |
Base class for video output. Gadget, MovieOutput, VideoDisplay, and VideoOutputNone derive from it. More... | |
class | jevois::VideoOutputNone |
No-op VideoOutput derivative for when there is no video output. More... | |
class | jevois::ImGuiBackend |
Backend for ImGui on JeVois-Pro. More... | |
class | jevois::ImGuiBackendMALI |
BackendMALI for ImGui on JeVois-Pro. More... | |
class | jevois::VideoDisplayBackend |
Backend for VideoDisplay on JeVois-Pro. More... | |
class | jevois::VideoDisplayBackendMALI |
Backend for VideoDisplay on JeVois-Pro host using MALI. More... | |
Modules | |
Model components, parameters, manager, and associated classes | |
These classes define how a complex model or vision processing pipeline with user-tunable parameters can be built from components. | |
Helper definitions for different camera sensors | |
Inertial Measurement Unit (IMU) classes and functions | |
Support for JeVois modules written in Python | |
In addition to writing modules in C++, JeVois supports writing modules in Python. JeVois provides two-way mappings: | |
JeVois-Pro Graphical Interface | |
Classes and utilities to provide a graphical interface using Dear ImGui. Supported on JeVois-Pro only. | |
Functions | |
() Scale() | jevois::Crop (CropScale)) struct VideoMapping |
Simple struct to hold video mapping definitions for the processing Engine. More... | |
() Scale() jevois::Crop | ( | CropScale | ) |
Simple struct to hold video mapping definitions for the processing Engine.
This struct specifies an output video format, resolution, and frame rate (to be send to the end user over USB), the corresponding camera capture video format, resolution and frame rate, and the Module to use to process the camera frames and generate the corresponding output frames. This class also provides conversion functions between frame rate and frame interval periods for both USB and V4L2, which use different units.
Operation of JeVois is based on a list of available VideoMapping definitions, which is configured in a file called JEVOIS:config/videomappings.cfg on the microSD card. The video mappings indicate which output formats are exposed to the host computer connected over USB, and which corresponding camera format and vision processing module should be used when a given output format is selected by video capture software running on the host computer.
See User guide to video modes and mappings for explanations about how to organize videomappings.cfg
< output pixel format, or 0 for no output over USB
< output width
< output height
< output frame rate in frames/sec
< camera pixel format
< camera width
< camera height
< camera frame rate in frames/sec
< USB-UVC format number (1-based)
< USB UVC frame number (1-based)
< Module creator name, used as a directory to organize the modules
< Name of the Module that will process this mapping
< Type of wide-dynamic-range (WDR) to use, if sensor supports it
< Type of crop or scaling to apply if camera frame size does not match sensor native
< True if the module is written in Python; affects behavior of sopath() only
< When crop is CropScale, pixel format of the scaled images, otherwise 0
< When crop is CropScale, width of the scaled images, otherwise 0
< When crop is CropScale, height of the scaled images, otherwise 0
Return the full absolute path and file name of the module's .so or .py file
Return the full absolute path and file name of the module's .C or .py file
Return the size in bytes of an output image
Return the size in bytes of a camera image
Return the size in bytes of a scaled camera image, if stream==RawAndScaled, otherwise 0
Convert from USB/UVC interval to fps
This function rounds to the nearest 1/100 fps.
Convert from fps to USB/UVC interval
Convert from V4L2 interval to fps
This function rounds to the nearest 1/100 fps.
Convert from fps to V4L2 interval
Return true if this VideoMapping's output format is a match to the given output parameters
Convenience function to print out FCC WxH @ fps, for the output (UVC) format
Convenience function to print out FCC WxH @ fps, for the input (camera) format
Convenience function to print out FCC WxH @ fps, for the scaled camera input format, if stream==RawAndScaled
Convenience function to print out FCC WxH @ fps plus possibly second stream, for the input (camera) format
Convenience function to print out the whole mapping in a human-friendly way
Convenience function to print out the whole mapping in a human-friendly way to be used in a menu
Equality operator for specs but not vendor or module name
Note that two mappings will be declared to match if their fps values are within 0.01fps, to avoid mismatches due to floating point representation and rounding.
Equality operator for specs and also vendor or module name
Note that two mappings will be declared to match if their fps values are within 0.01fps, to avoid mismatches due to floating point representation and rounding.
Determine whether module is C++ or python and set ispython flag accordingly
The other fields should have been initialized already. operator>> and loadVideoMappings use this function insternally, so no need to call it after making a VideoMapping from sream. This function throws if neither a .so nor .py file is found in the appropriate place given module vendor and name.
Definition at line 43 of file VideoMapping.H.
Referenced by jevois::GUIhelper::drawNewModuleForm(), and jevois::Camera::setFormat().