65#ifndef __OPENCV_BIOINSPIRED_RETINA_HPP__
66#define __OPENCV_BIOINSPIRED_RETINA_HPP__
74#include "opencv2/core.hpp"
153 normaliseOutput(
true),
154 photoreceptorsLocalAdaptationSensitivity(0.75f),
155 photoreceptorsTemporalConstant(0.9f),
156 photoreceptorsSpatialConstant(0.53f),
157 horizontalCellsGain(0.01f),
158 hcellsTemporalConstant(0.5f),
159 hcellsSpatialConstant(7.f),
160 ganglionCellsSensitivity(0.75f) { }
161 bool colorMode, normaliseOutput;
162 float photoreceptorsLocalAdaptationSensitivity, photoreceptorsTemporalConstant, photoreceptorsSpatialConstant, horizontalCellsGain, hcellsTemporalConstant, hcellsSpatialConstant, ganglionCellsSensitivity;
167 normaliseOutput(
true),
168 parasolCells_beta(0.f),
169 parasolCells_tau(0.f),
171 amacrinCellsTemporalCutFrequency(2.0f),
172 V0CompressionParameter(0.95f),
173 localAdaptintegration_tau(0.f),
174 localAdaptintegration_k(7.f) { }
175 bool normaliseOutput;
176 float parasolCells_beta, parasolCells_tau, parasolCells_k, amacrinCellsTemporalCutFrequency, V0CompressionParameter, localAdaptintegration_tau, localAdaptintegration_k;
215 CV_WRAP
virtual Size getInputSize()=0;
221 CV_WRAP
virtual Size getOutputSize()=0;
233 CV_WRAP
virtual void setup(String retinaParameterFile=
"",
const bool applyDefaultSetupOnFailure=
true)=0;
254 CV_WRAP
virtual const String printSetup()=0;
260 CV_WRAP
virtual void write( String fs )
const=0;
299 CV_WRAP
virtual void setupOPLandIPLParvoChannel(
const bool colorMode=
true,
const bool normaliseOutput =
true,
const float photoreceptorsLocalAdaptationSensitivity=0.7f,
const float photoreceptorsTemporalConstant=0.5f,
const float photoreceptorsSpatialConstant=0.53f,
const float horizontalCellsGain=0.f,
const float HcellsTemporalConstant=1.f,
const float HcellsSpatialConstant=7.f,
const float ganglionCellsSensitivity=0.7f)=0;
326 CV_WRAP
virtual void setupIPLMagnoChannel(
const bool normaliseOutput =
true,
const float parasolCells_beta=0.f,
const float parasolCells_tau=0.f,
const float parasolCells_k=7.f,
const float amacrinCellsTemporalCutFrequency=1.2f,
const float V0CompressionParameter=0.95f,
const float localAdaptintegration_tau=0.f,
const float localAdaptintegration_k=7.f)=0;
335 CV_WRAP
virtual void run(InputArray inputImage)=0;
353 CV_WRAP
virtual void applyFastToneMapping(InputArray inputImage,
OutputArray outputToneMappedImage)=0;
372 CV_WRAP
virtual void getParvoRAW(
OutputArray retinaOutput_parvo)=0;
389 CV_WRAP
virtual void getMagnoRAW(
OutputArray retinaOutput_magno)=0;
392 CV_WRAP
virtual const Mat getMagnoRAW()
const=0;
394 CV_WRAP
virtual const Mat getParvoRAW()
const=0;
402 CV_WRAP
virtual void setColorSaturation(
const bool saturateColors=
true,
const float colorSaturationValue=4.0f)=0;
409 CV_WRAP
virtual void clearBuffers()=0;
416 CV_WRAP
virtual void activateMovingContoursProcessing(
const bool activate)=0;
424 CV_WRAP
virtual void activateContoursProcessing(
const bool activate)=0;
446 const bool useRetinaLogSampling=
false,
447 const float reductionFactor=1.0f,
const float samplingStrength=10.0f);
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:295
This is a base class for all more or less complex algorithms in OpenCV
Definition: core.hpp:3091
XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or readi...
Definition: persistence.hpp:304
n-dimensional dense array class
Definition: mat.hpp:802
Template class for specifying the size of an image or rectangle.
Definition: core/types.hpp:316
class which allows the Gipsa/Listic Labs model to be used with OpenCV.
Definition: retina.hpp:207
virtual void setup(cv::FileStorage &fs, const bool applyDefaultSetupOnFailure=true)=0
virtual void setup(RetinaParameters newParameters)=0
virtual RetinaParameters getParameters()=0
virtual void write(FileStorage &fs) const CV_OVERRIDE=0
@ RETINA_COLOR_RANDOM
each pixel position is either R, G or B in a random choice
Definition: retina.hpp:84
@ RETINA_COLOR_BAYER
standard bayer sampling
Definition: retina.hpp:86
@ RETINA_COLOR_DIAGONAL
color sampling is RGBRGBRGB..., line 2 BRGBRGBRG..., line 3, GBRGBRGBR...
Definition: retina.hpp:85
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
Definition: cvstd_wrapper.hpp:74
Inner Plexiform Layer Magnocellular channel (IplMagno)
Definition: retina.hpp:165
Outer Plexiform Layer (OPL) and Inner Plexiform Layer Parvocellular (IplParvo) parameters
Definition: retina.hpp:151
retina model parameters structure
Definition: retina.hpp:149