Learning Image Processing with OpenCV by Gloria Bueno Garcia

Learning Image Processing with OpenCV by Gloria Bueno Garcia

Author:Gloria Bueno Garcia
Language: eng
Format: epub, pdf
Publisher: Packt Publishing


Note

More information about the nonlocal means and the TVL1 denoising algorithms can be found at http://www.ipol.im/pub/art/2011/bcm_nlm and http://znah.net/rof-and-tv-l1-denoising-with-primal-dual-algorithm.html, respectively.

OpenCV provides four functions to denoise color and grayscale images following the nonlocal means approach. For the TVL1 model, one function is provided. These functions are:

void fastNlMeansDenoising(InputArray src, OutputArray dst, float h = 3, int templateWindowSize = 7, int searchWindowSize = 21): This denoises a single grayscale image loaded in src. The templateWindowSize and searchWindowSize parameters are the sizes in pixels of the template patch that is used to compute weights and the window that is used to compute the weighted average for the given pixel. These should be odd and their recommended values are 7 and 21 pixels, respectively. The h parameter regulates the effect of the algorithm. Larger h values remove more noise defects but with the drawback of removing more image details. The output is stored in dst.

void fastNlMeansDenoisingColored(InputArray src, OutputArray dst, float h = 3, float hForColorComponents = 3, int templateWindowSize = 7, int searchWindowSize = 21): This is a modification of the previous function for colored images. It converts the src image to the CIELAB color space and then separately denoises the L and AB components with the fastNlMeansDenoising function.

void fastNlMeansDenoisingMulti(InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h = 3, int templateWindowSize = 7, int searchWindowSize = 21): This uses an image sequence to obtain a denoised image. Two more parameters are needed in this case: imgToDenoiseIndex and temporalWindowSize. The value of imgToDenoiseIndex is the target image index in srcImgs to be denoised. Finally, temporalWindowSize is used to establish the number of surrounding images to be used for denoising. This should be odd.

void fastNlMeansDenoisingColoredMulti(InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, float h = 3, float hForColorComponents = 3, int templateWindowSize = 7, int searchWindowSize = 21): This is based on the fastNlMeansDenoisingColored and fastNlMeansDenoisingMulti functions. The parameters are explained in the rest of the functions.

void denoise_TVL1(const std::vector<Mat>& observations, Mat& result, double lambda, int niters): This obtains a denoised image in result from one or more noisy images stored in observations. The lambda and niters parameters control the strength and the number of iterations of the algorithm.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Popular ebooks
Deep Learning with Python by François Chollet(12613)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7799)
Autodesk Civil 3D 2024 from Start to Finish by Stephen Walz Tony Sabat(6683)
Mathematics for Game Programming and Computer Graphics by Penny de Byl(6579)
Taking Blender to the Next Level by Ruan Lotter(6351)
Express Your Creativity with Adobe Express by Rosie Sue(6172)
Hands-On Unity 2022 Game Development - Third Edition by Nicolas Alejandro Borromeo(5783)
Hands-On Unity 2022 Game Development by Nicolas Alejandro Borromeo(4832)
Unreal Engine 5 Character Creation, Animation, and Cinematics by Henk Venter & Wilhelm Ogterop(3699)
Adobe Illustrator for Creative Professionals by Clint Balsar(3692)
Going the Distance with Babylon.js by Josh Elster(3681)
Mastering Graphics Programming with Vulkan by Marco Castorina & Gabriel Sassone(3576)
Squeaky Clean Topology in Blender by Michael Steppig(3516)
Drawing Shortcuts: Developing Quick Drawing Skills Using Today's Technology by Leggitt Jim(2934)
Unreal Engine 5 Character Creation, Animation, and Cinematics by Henk Venter
 Wilhelm Ogterop(2877)
Rapid Viz: A New Method for the Rapid Visualization of Ideas by Kurt Hanks & Larry Belliston(2719)
The 46 Rules of Genius: An Innovator's Guide to Creativity (Voices That Matter) by Marty Neumeier(2669)
Learn Qt 5: Build modern, responsive cross-platform desktop applications with Qt, C++, and QML by Nicholas Sherriff(2372)
Fusion 360 for Makers by Lydia Sloan Cline(2227)
Hands-On Neural Networks with Keras by Niloy Purkait(2178)