基于Matlab的图像信噪比计算

话不多说 直接上代码 复制即可使用!!!
如果觉得可用 可以给咱点个赞

I=imread('D:\601\p\2.JPG');%单引号里面是图片的绝对位置
I=rgb2gray(I);%彩色转灰度

In=imread('D:\601\p\3.JPG');
In=rgb2gray(In);
In1=imread('D:\601\p\4.JPG');
In1=rgb2gray(In1);
 function snr=SNR1(I,In)
 
    [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
 end

命令行: x=snr(I,In);

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值