计算一幅图像的信噪比

大家好,这是我第一次编写blog。一期一会(いちごいちえ)(itigoitie)就是我啦,希望能写出对大家有帮助的文章吧!
本文摘自本人的毕业设计《数字图像滤波算法研究》2019, Chang’an University, Xi’an, China.

适用情况

本文适用于原始图像(即不含噪声的图像)存在的情况下。

计算步骤

  1. 使用待计算SNR图像(记为A)与原始图像(记为B)做相减运算,得到一幅图像(记为C);
  2. 我们将B视为A的信息部分,将C视为A的噪声部分;
  3. 分别计算B、C的方差;
  4. 计算上述两项之比,得到SNR的值。
  5. 对SNR的值对数化,得到以dB为单位的SNR值。

附matlab代码

clc,clear,close all % 清理命令区、清理工作区、关闭显示图形
warning off % 消除警告
feature jit off % 加速代码运行
A=imread(‘C:\Users\Lenovo\Desktop\dip\xx.jpg’);
B=imread(‘C:\Users\Lenovo\Desktop\dip\original.jpg’);
C=imsubtract(A,B);
avg1=mean2©; %求图像均值
[m,n]=size©;
s1=0;
for x=1:m
for y=1:n
s1=s1+(C(x,y)-avg1)^2; %求得所有像素与均值的平方和。
end
end
C1=s1/(mn); %利用方差公式求得
avg2=mean2(B); %求图像均值
[m,n]=size(B);
s2=0;
for x=1:m
for y=1:n
s2=s2+(B(x,y)-avg2)^2; %求得所有像素与均值的平方和。
end
end
B1=s1/(m
n); %利用方差公式求得
D1=B1/C1;
D1=10*log10(D1);

example

计算一幅图像的信噪比
计算一幅图像的信噪比
计算一幅图像的信噪比

计算结果

SNR=10.1861dB

相关文章:

  • 2022-12-23
  • 2021-08-17
  • 2021-04-06
  • 2021-12-03
  • 2021-12-06
  • 2021-10-06
  • 2021-09-06
  • 2021-05-08
猜你喜欢
  • 2022-01-02
  • 2022-03-03
  • 2021-07-14
  • 2021-12-13
  • 2022-12-23
  • 2021-04-10
相关资源
相似解决方案