Signapse
Public Member Functions | List of all members
PreProcessor Class Reference

#include <PreProcessor.h>

Inheritance diagram for PreProcessor:
Inheritance graph
Collaboration diagram for PreProcessor:
Collaboration graph

Public Member Functions

 PreProcessor ()
 
 PreProcessor (PreProcessorSettings settings)
 
void NextScene (Scene scene)
 
void SetBoundingBox (float upperLeftX, float upperLeftY, float lowerRightX, float lowerRightY)
 
virtual void NextScene (Scene next)=0
 

Additional Inherited Members

void NextScene (Scene scene)
 

Detailed Description

A pipeline element to perform pre-processing required for Signapse. Adds region of interest, bounding box rectangle and switches pixel format for neural network.

Definition at line 8 of file PreProcessor.h.

Constructor & Destructor Documentation

◆ PreProcessor() [1/2]

PreProcessor::PreProcessor ( )

Default constructor; inits default settings

Definition at line 30 of file PreProcessor.cpp.

30: settings() {}

◆ PreProcessor() [2/2]

PreProcessor::PreProcessor ( PreProcessorSettings  s)
Parameters
PreProcessorSettingsfor initialisation

Definition at line 25 of file PreProcessor.cpp.

25: settings(s) {}

Member Function Documentation

◆ NextScene()

void PreProcessor::NextScene ( Scene  scene)
virtual

Handles processing the given scene and calling back to next pipeline element

Parameters
scene

Reimplemented from PipelineLink.

Definition at line 10 of file PreProcessor.cpp.

10 {
11 cv::Size sz = scene.frame.size();
12 scene.regionOfInterest = BoundingBox((int)(sz.width * settings.relativeBoundingBox[0]),
13 (int)(sz.height * settings.relativeBoundingBox[1]),
14 (int)(sz.width * settings.relativeBoundingBox[2]),
15 (int)(sz.height * settings.relativeBoundingBox[3]));
16 Scene out = switchRGB2BGR(scene);
17 out = drawBox(scene);
18 if(!sceneCallback) return;
20}
virtual void NextScene(Scene next)=0
Struct BoundingBox.
Definition: Scene.h:23
Struct Scene.
Definition: Scene.h:36
cv::Mat frame
Member variable.
Definition: Scene.h:42
BoundingBox regionOfInterest
Member variable.
Definition: Scene.h:52

◆ SetBoundingBox()

void PreProcessor::SetBoundingBox ( float  upperLeftX,
float  upperLeftY,
float  lowerRightX,
float  lowerRightY 
)

Used to set the bounding box each scene is marked with. Set as float values in range [0-1] indicating fractional coordinates in the image frame.

Parameters
upperLeftX
upperLeftY
lowerRightX
lowerRightY

Definition at line 68 of file PreProcessor.cpp.

68 {
69 settings.relativeBoundingBox[0] = upperLeftX;
70 settings.relativeBoundingBox[1] = upperLeftY;
71 settings.relativeBoundingBox[2] = lowerRightX;
72 settings.relativeBoundingBox[3] = lowerRightY;
73 for(int i = 0; i < 4; i++){
74 float val = settings.relativeBoundingBox[i];
75 if(val > 1.0f){
76 settings.relativeBoundingBox[i] = 1.0f;
77 }
78 else if (val < 0.0f){
79 settings.relativeBoundingBox[i] = 0.0f;
80 }
81 }
82}

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