bioinspired_RetinaFastToneMapping
import { bioinspired_RetinaFastToneMapping } from '@banou/opencv-wasm'Use after await initOpenCV(). See the initialization and named imports guide.
Native object: release it with using or delete(). Factories can return null; check before calling methods. Inherits Algorithm.
a wrapper class which allows the tone mapping algorithm of Meylan&al(2007) to be used with OpenCV.
This algorithm is already implemented in thre Retina class (retina::applyFastToneMapping) but used it does not require all the retina model to be allocated. This allows a light memory use for low memory devices (smartphones, etc. As a summary, these are the model properties:
- 2 stages of local luminance adaptation with a different local neighborhood for each.
- first stage models the retina photorecetors local luminance adaptation
- second stage models th ganglion cells local information adaptation
- compared to the initial publication, this class uses spatio-temporal low pass filters instead of spatial only filters. this can help noise robustness and temporal stability for video sequence use cases.
for more information, read to the following papers : Meylan L., Alleysson D., and Susstrunk S., A Model of Retinal Local Adaptation for the Tone Mapping of Color Filter Array Images, Journal of Optical Society of America, A, Vol. 24, N 9, September, 1st, 2007, pp. 2807-2816Benoit 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 regarding spatio-temporal filter and the bigger retina model : 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.
Constructors and members
static create
Create an owned bioinspired_RetinaFastToneMapping instance with the supplied configuration.
a wrapper class which allows the tone mapping algorithm of Meylan&al(2007) to be used with OpenCV.
create(inputSize: Size): bioinspired_RetinaFastToneMapping | null;inputSizeinput size argument (Size).
The bioinspired_RetinaFastToneMapping | null result.
clone
Create another handle to the same native object. This retains the object without copying its pixels or algorithm state; dispose both handles separately.
clone(): this;The this result.
applyFastToneMapping
applies a luminance correction (initially High Dynamic Range (HDR) tone mapping)
using only the 2 local adaptation stages of the retina parvocellular channel : photoreceptors
level and ganlion cells level. Spatio temporal filtering is applied but limited to temporal
smoothing and eventually high frequencies attenuation. This is a lighter method than the one
available using the regular retina::run method. It is then faster but it does not include
complete temporal filtering nor retina spectral whitening. Then, it can have a more limited
effect on images with a very high dynamic range. This is an adptation of the original still
image HDR tone mapping algorithm of David Alleyson, Sabine Susstruck and Laurence Meylan's
work, please cite: -> Meylan L., Alleysson D., and Susstrunk S., A Model of Retinal Local
Adaptation for the Tone Mapping of Color Filter Array Images, Journal of Optical Society of
America, A, Vol. 24, N 9, September, 1st, 2007, pp. 2807-2816
applyFastToneMapping(inputImage: Mat, outputToneMappedImage: Mat): void;inputImagethe input image to process RGB or gray levels
outputToneMappedImageOutput destination, filled by the native operation. the output tone mapped image
setup
updates tone mapping behaviors by adjusing the local luminance computation area
setup(photoreceptorsNeighborhoodRadius: number, ganglioncellsNeighborhoodRadius: number, meanLuminanceModulatorK: number): void;4 available overloads
setup(): void;setup(photoreceptorsNeighborhoodRadius: number): void;setup(photoreceptorsNeighborhoodRadius: number, ganglioncellsNeighborhoodRadius: number): void;setup(photoreceptorsNeighborhoodRadius: number, ganglioncellsNeighborhoodRadius: number, meanLuminanceModulatorK: number): void;photoreceptorsNeighborhoodRadiusthe first stage local adaptation area
ganglioncellsNeighborhoodRadiusthe second stage local adaptation area
meanLuminanceModulatorKthe factor applied to modulate the meanLuminance information (default is 1, see reference paper)
These signatures describe this package. Upstream documentation can mention optional backends that are absent from this build. Check runtime compatibility before choosing a backend or file format.