Image Processing Signal To Noise Ratio
26 次查看(过去 30 天)
显示 更早的评论
I have a .bmp image from my professor and i have to calculate the signal to noise ratio and enhance it. The problem is i don't know how calculate it and by searching in the net i found different definitions and formulas. I tried with the ratios between mean and standard deviation but i don't know if it is ok. I have anther question: is it correct tha the SNR is bigger after an histogram equalization of the image?
This is the very simple code i used to calculate the SNR
Im = imread('naca23012_dinamico_24deg_fin1_1_b.bmp');
Im = im2double(Im);
mu = mean(Im(:));
sigma = std(Im(:));
snr= mu/sigma;
My image is this one
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/161850/image.bmp)
Thanks for help
0 个评论
回答(1 个)
Image Analyst
2016-4-19
编辑:Image Analyst
2016-4-19
The standard deviation of an image is not necessarily noise (this is a common misperception). Anyway, since your signal seems to be that white region, I'd simply threshold it and then take the largest blob
% Find the dark background.
mask = grayImage < 128; % or whatever value works.
% Extract the largest region only.
mask = bwareafilt(mask, 1);
% Erase background from original image
grayImage(mask) = 0;
% Display the "fixed" image.
imshow(grayImage);
This will give you the original white blob but the dark background will be completely black and noise free.
After histogram equalization, the SNR will be lower since it amplifies gray level values (makes more "noise").
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!