SNR for image (No-Reference)

조회 수: 15 (최근 30일)
Meghana Dinesh
Meghana Dinesh 2015년 3월 10일
편집: AJ 2020년 7월 21일
I have a .bin file (a 12 bit image). How should I caculate the SNR of this? I am aware that SNR computation needs one clean and one noisy image. But without any reference, this is how I am doing it. Is it right?
I am reading it as a 16 bit image using fread.
fileID = fopen('29.bin');
A = fread(fileID,'uint16');
A1 = reshape(A, [480 640]);
img = A1;
signal = max(img(:));
noise = std(img(:));
SNR = 20*log10(signal/noise);
the SNR I get is: 14.683817721282823
When I open this .bin using Irfan View (Open as > RAW file) these are the parameters I set:
The image is:
This does not appear to have such a less SNR.
Is the way I am computing SNR for a single image (No Reference) correct? I have attached the .bin file here .

답변 (2개)

Image Analyst
Image Analyst 2015년 3월 10일
The standard deviation of the image is not noise. You could have a perfectly good noise-free image, and if it has any structure in it, it will have a standard deviation. But you're calling it noise, which it is not, at least not necessarily unless you have a perfectly uniform image.
Also look at Professor Milanfar's page https://users.soe.ucsc.edu/~milanfar/talks/ He has done a lot of work in state of the art noise removal.
  댓글 수: 1
Meghana Dinesh
Meghana Dinesh 2015년 3월 10일
The visionbib link conains sections only till 5.6. I guess you mean I should refer to section 5.3. Correct?
Also, does it make sense to calculate SNR given a single image? I suppose this means when I de-noise the single image ( img1 ) I have, I get say img2. Should I consider this img2 as the reference image and proceed with SNR calculation?

댓글을 달려면 로그인하십시오.


AJ
AJ 2020년 7월 21일
편집: AJ 2020년 7월 21일
If you can identify the background (noise) vs the foreground/details (signal) in the image, then you can compute SNR by taking the Mean of the signal/mean of the noise
This is how the following example has done for MRI images: https://mrimaster.com/technique%20SNR.html

카테고리

Help CenterFile Exchange에서 Language Support에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by