Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to evaluate how much noise it is on a image in OpenCV?

I understand how to generate noise or filter out noise on an image, but if I have two images at difference noise level, for instance one photo taken during daytime and the other taken at night, how can I tell which image is more noisy in OpenCV or Matlab?

Thanks!

like image 649
Kai Chen Avatar asked Oct 31 '22 08:10

Kai Chen


1 Answers

You can compute signal to noise ratio in flat regions(with no edges) of an image. Compute mean and variance of the signal in flat region. Compare similar flat regions. If an image has higher SNR than other image, it means that it is less noisy. To visualize this you can crop flat region in both the images and check their histogram. A noise-free image should have a narrow gaussain distribution ( low standard deviation) in flat regions compared to a noisy image which will have wider gaussian distribution.

like image 180
igweyn Avatar answered Nov 17 '22 09:11

igweyn