Class Retina
- Namespace
- Emgu.CV.Bioinspired
- Assembly
- Emgu.CV.dll
A wrapper class which allows the Gipsa/Listic Labs model to be used. This retina model allows spatio-temporal image processing (applied on still images, video sequences). As a summary, these are the retina model properties:
- It applies a spectral whithening (mid-frequency details enhancement);
- high frequency spatio-temporal noise reduction;
- low frequency luminance to be reduced (luminance range compression);
- local logarithmic luminance compression allows details to be enhanced in low light conditions. USE : this model can be used basically for spatio-temporal video effects but also for : _using the getParvo method output matrix : texture analysiswith enhanced signal-to-noise ratio and enhanced details robust against input images luminance ranges _using the getMagno method output matrix : motion analysis also with the previously cited properties
For more information, reer to the following papers : Benoit A., Caplier A., Durette B., Herault, J., "USING HUMAN VISUAL SYSTEM MODELING FOR BIO-INSPIRED LOW LEVEL IMAGE PROCESSING", Elsevier, Computer Vision and Image Understanding 114 (2010), pp. 758-773, DOI: http://dx.doi.org/10.1016/j.cviu.2010.01.011 Vision: Images, Signals and Neural Networks: Models of Neural Processing in Visual Perception (Progress in Neural Processing),By: Jeanny Herault, ISBN: 9814273686. WAPI (Tower ID): 113266891.
The retina filter includes the research contributions of phd/research collegues from which code has been redrawn by the author : _take a look at the retinacolor.hpp module to discover Brice Chaix de Lavarene color mosaicing/demosaicing and the reference paper: B. Chaix de Lavarene, D. Alleysson, B. Durette, J. Herault (2007). "Efficient demosaicing through recursive filtering", IEEE International Conference on Image Processing ICIP 2007 _take a look at imagelogpolprojection.hpp to discover retina spatial log sampling which originates from Barthelemy Durette phd with Jeanny Herault. A Retina / V1 cortex projection is also proposed and originates from Jeanny's discussions. more informations in the above cited Jeanny Heraults's book.
public class Retina : SharedPtrObject, IDisposable
- Inheritance
-
Retina
- Implements
- Inherited Members
Constructors
Retina(Size, bool, ColorSamplingMethod, bool, double, double)
Create a retina model
public Retina(Size inputSize, bool colorMode = true, Retina.ColorSamplingMethod colorSamplingMethod = ColorSamplingMethod.ColorBayer, bool useRetinaLogSampling = false, double reductionFactor = 1, double samplingStrength = 10)
Parameters
inputSize
SizeThe input frame size
colorMode
boolSpecifies if (true) color is processed of not (false) to then processing gray level image
colorSamplingMethod
Retina.ColorSamplingMethodSpecifies which kind of color sampling will be used
useRetinaLogSampling
boolActivate retina log sampling, if true, the 2 following parameters can be used
reductionFactor
doubleOnly useful if param useRetinaLogSampling=true, specifies the reduction factor of the output frame (as the center (fovea) is high resolution and corners can be underscaled, then a reduction of the output is allowed without precision leak
samplingStrength
doubleOnly useful if param useRetinaLogSampling=true, specifies the strength of the log scale that is applied
Properties
Parameters
Get or Set the Retina parameters.
public Retina.RetinaParameters Parameters { get; set; }
Property Value
Methods
ClearBuffers()
Clear all retina buffers (equivalent to opening the eyes after a long period of eye close.
public void ClearBuffers()
DisposeObject()
Release all unmanaged memory associated with the retina model.
protected override void DisposeObject()
GetMagno(IOutputArray)
Accessors of the motion channel of the retina (models peripheral vision)
public void GetMagno(IOutputArray magno)
Parameters
magno
IOutputArrayThe motion channel of the retina.
GetParvo(IOutputArray)
Accessors of the details channel of the retina (models foveal vision)
public void GetParvo(IOutputArray parvo)
Parameters
parvo
IOutputArrayThe details channel of the retina.
Run(IInputArray)
Method which allows retina to be applied on an input image, after run, encapsulated retina module is ready to deliver its outputs using dedicated acccessors. GetParvo(IOutputArray) and GetMagno(IOutputArray)
public void Run(IInputArray image)
Parameters
image
IInputArrayThe input image to be processed