簡體   English   中英

在MATLAB中計算單個圖像中的SNR

[英]Calculate SNR in single image in MATLAB

我有這個圖像:

嘈雜的圖像

我想計算它的SNR。 對於我使用的代碼:

img=imread('noicy.JPG');
img=double(img(:));
ima=max(img(:));
imi=min(img(:));
ims=std(img(:));
snr=20*log10((ima-imi)./ims)

這是計算SNR的正確代碼嗎?

SNR的定義可以在這里這里找到:

可以使用標准和行業定義( 10log(x)20log(x) )。 檢查一下

現在, signal等於像素值的mean(img(:))mean(img(:)) ), noise是像素值的標准偏差或誤差值( std(img(:)) )。

您可以使用比率或SNR=10*log10(signal/noise)以分貝表示結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM