Image Processing Signal To Noise Ratio
13 ビュー (過去 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
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 Filtering and Enhancement についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!