在matlab里怎么求图片的信噪比?

知道这个求信噪比的公式functionsnr=estsnr(x)%SNRestimationofblurrednoisyimages[n,m]=size(x);c=one... 知道这个求信噪比的公式
function snr=estsnr(x)
%SNR estimation of blurred noisy images
[n,m]=size(x);
c=ones(5,5)/25;
a=conv2(x,c);
al=a(3:n+2,3:m+2);
v=(double(x)-double(al)).^2;
a=conv2(double(v),double(c));
v=a(3:n+2,3:m+2);
b=10*log10(max(max(v))/min(min(v)));
snr=1.04*b-7;
该怎么求啊?不懂啊,需要图片的名字么,在哪里写代码什么的~
??? Strings passed to EVAL cannot contain function declarations.
直接运行会提示这个错误
展开
 我来答
做一个快乐的茶农
高粉答主

2019-09-28 · 每个回答都超有意思的
知道答主
回答量:1396
采纳率:100%
帮助的人:38.6万
展开全部

1、在当前文件夹中新建一个SNR1.m文件,内容为:“ function snr=SNR1(I,In) Ps=sum(sum(I.^2)); Pn=sum(sum((In-I).^2)); snr=10*log10(Ps/Pn);”。

2、准备好两个矩阵a和b,这里使用的是两个291*240的double类型的矩阵。

3、在命令行窗口中输入:“x=SNR1(a,b)”,调用已经写好的信噪比函数。

4、回车后计算得a和b的信噪比为25.2021。

昔秋梵悦3B
推荐于2017-11-24 · TA获得超过114个赞
知道答主
回答量:59
采纳率:0%
帮助的人:58.2万
展开全部
这是一个函数,你要么在另一个程序中定义X(即读入一幅图像)以后在调用它,要么在这个函数里面定义好X以后直接运行。
追问
额。。具体怎么操作啊啊 我不懂啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96ffcf7
推荐于2016-12-06 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22719 获赞数:118737
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
Matlab中计算信噪比方式:
%===========================Happy===================================%
function snr=SNR(I,In)
% 计算信号噪声比函数
% by Qulei
% I :original signal
% In:noisy signal(ie. Original signal + noise signal)
% snr=10*log10(sigma2(I2)/sigma2(I2-I1))
[row,col,nchannel]=size(I);
snr=0;
if nchannel==1%gray image
Ps=sum(sum((I-mean(mean(I))).^2));%signal power
Pn=sum(sum((I-In).^2));%noise power
snr=10*log10(Ps/Pn);
elseif nchannel==3%color image
for i=1:3
Ps=sum(sum((I(:,:,i)-mean(mean(I(:,:,i)))).^2));%signal power
Pn=sum(sum((I(:,:,i)-In(:,:,i)).^2));%noise power
snr=snr+10*log10(Ps/Pn);
end
snr=snr/3;
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式