Struct opencv::bioinspired::Retina
source · pub struct Retina { /* private fields */ }
Expand description
class which allows the Gipsa/Listic Labs model to be used with OpenCV.
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.
Implementations§
source§impl Retina
impl Retina
sourcepub fn create(input_size: Size) -> Result<Ptr<Retina>>
pub fn create(input_size: Size) -> Result<Ptr<Retina>>
Constructors from standardized interfaces : retreive a smart pointer to a Retina instance
Parameters
- inputSize: the input frame size
- colorMode: the chosen processing mode : with or without color processing
- colorSamplingMethod: specifies which kind of color sampling will be used :
- cv::bioinspired::RETINA_COLOR_RANDOM: each pixel position is either R, G or B in a random choice
- cv::bioinspired::RETINA_COLOR_DIAGONAL: color sampling is RGBRGBRGB…, line 2 BRGBRGBRG…, line 3, GBRGBRGBR…
- cv::bioinspired::RETINA_COLOR_BAYER: standard bayer sampling
- useRetinaLogSampling: activate retina log sampling, if true, the 2 following parameters can be used
- reductionFactor: only usefull 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: only usefull if param useRetinaLogSampling=true, specifies the strength of the log scale that is applied
Overloaded parameters
sourcepub fn create_ext(
input_size: Size,
color_mode: bool,
color_sampling_method: i32,
use_retina_log_sampling: bool,
reduction_factor: f32,
sampling_strength: f32
) -> Result<Ptr<Retina>>
pub fn create_ext( input_size: Size, color_mode: bool, color_sampling_method: i32, use_retina_log_sampling: bool, reduction_factor: f32, sampling_strength: f32 ) -> Result<Ptr<Retina>>
Constructors from standardized interfaces : retreive a smart pointer to a Retina instance
Parameters
- inputSize: the input frame size
- colorMode: the chosen processing mode : with or without color processing
- colorSamplingMethod: specifies which kind of color sampling will be used :
- cv::bioinspired::RETINA_COLOR_RANDOM: each pixel position is either R, G or B in a random choice
- cv::bioinspired::RETINA_COLOR_DIAGONAL: color sampling is RGBRGBRGB…, line 2 BRGBRGBRG…, line 3, GBRGBRGBR…
- cv::bioinspired::RETINA_COLOR_BAYER: standard bayer sampling
- useRetinaLogSampling: activate retina log sampling, if true, the 2 following parameters can be used
- reductionFactor: only usefull 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: only usefull if param useRetinaLogSampling=true, specifies the strength of the log scale that is applied
C++ default parameters
- color_sampling_method: RETINA_COLOR_BAYER
- use_retina_log_sampling: false
- reduction_factor: 1.0f
- sampling_strength: 10.0f
sourcepub fn create_ext_def(input_size: Size, color_mode: bool) -> Result<Ptr<Retina>>
pub fn create_ext_def(input_size: Size, color_mode: bool) -> Result<Ptr<Retina>>
Constructors from standardized interfaces : retreive a smart pointer to a Retina instance
Parameters
- inputSize: the input frame size
- colorMode: the chosen processing mode : with or without color processing
- colorSamplingMethod: specifies which kind of color sampling will be used :
- cv::bioinspired::RETINA_COLOR_RANDOM: each pixel position is either R, G or B in a random choice
- cv::bioinspired::RETINA_COLOR_DIAGONAL: color sampling is RGBRGBRGB…, line 2 BRGBRGBRG…, line 3, GBRGBRGBR…
- cv::bioinspired::RETINA_COLOR_BAYER: standard bayer sampling
- useRetinaLogSampling: activate retina log sampling, if true, the 2 following parameters can be used
- reductionFactor: only usefull 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: only usefull if param useRetinaLogSampling=true, specifies the strength of the log scale that is applied
Note
This alternative version of [create_ext] function uses the following default values for its arguments:
- color_sampling_method: RETINA_COLOR_BAYER
- use_retina_log_sampling: false
- reduction_factor: 1.0f
- sampling_strength: 10.0f