matlab计算斜方差_计算一幅图像的信噪比

本文摘自本人的毕业设计《数字图像滤波算法研究》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:UsersLenovoDesktopdipxx.jpg’);

B=imread(‘C:UsersLenovoDesktopdiporiginal.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/(mn); %利用方差公式求得

D1=B1/C1;

D1=10*log10(D1);

example

85a177d1f8e98cd40cd24bf80b5f3fef.png
原始图像

d20e85cf153da906a2d7fe78c1ad7218.png
待检测SNR图像

633372bc34c11b81c0b1ad89a23c4a6d.png
上面两图像相减得到的图像

计算结果

SNR=10.1861dB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转载】linux进程及进程控制

Linux进程控制 程序是一组可执行的静态指令集,而进程(process)是一个执行中的程序实例。利用分时技术,在Linux操作系统上同时可以运行多个进程。分时技术的基本原理是把CPU的运行时间划分成一个个规定长度的时间片,让每个进程在一个时间片内运…

区分大小屏幕_VESA持续推动DisplayHDR认证计划,你的屏幕属于何种等级吗?

美国视频电子标准协会(VESA)今年可说是动作频频,年初先发布了专为OLED与其他自发光显示器所制订的DisplayHDR True Black高动态范围标准,下半年则更新DisplayHDR兼容测试规范至1.1版,并发布新的DisplayHDR 1400性能分级,至于年中所…

cordova 某个页面强制横屏_小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?...

老刘 1前言这篇文章是应网友之邀所写,主要描述一下我们访问网站时, 从输入网址到最后浏览器呈现内容,中间发生了什么。今天的文章主要专注于应用层,我拿了一个很简单的网络结构来讲。假定本机已经获取了IP地址,各种网络…

vue调用手机相机相册_今天才发现,点一下小米手机相册,能将照片一键制作成电影...

随着国产手机的发展,手机像素越来越高,里面的功能也越来越丰富,手机拍照成了不少人的日常,如果你很爱拍照,手机里有一大堆照片,那么教你用手机自带的相册功能,一键将照片制作成电影,…

unity 烘焙参数 设置_Unity通用渲染管线(URP)系列(九)——点光源和聚光灯

200篇教程总入口,欢迎收藏:放牛的星星:[教程汇总持续更新]Unity从入门到入坟——收藏这一篇就够了​zhuanlan.zhihu.com本文重点内容:1、支持更多类型的灯光2、包含实时的点光源和聚光灯3、为点光源和聚光灯烘焙阴影4、每个物体限…

c#日期转换周几_Java时间与日期

只有把眼前的事情做好,才能考虑其他的问题。众所周知,全世界在同一时刻看手表肯定不会看到同一个时间,因为地球是圆的,面对太阳的角度是不一样的,我们一般说时间几点几点,是指的本地时间,比如国…

Python开发之--前端 HTML基础

一:HTML介绍 HTML:超文本标记语言,标准通用标记语言下的一个应用。包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息&…

给与用户建立dblink的权限_网络安全 之 NTFS安全权限

NTFS安全权限一、NTFS权限概述1、通过设置NTFS权限,实现不同的用户访问不同的权限2、分配了正确的访问权限后,用户才能访问其资源3、设置权限防止资源被篡改、删除二、文件系统概述 文件系统即在外部存储设备上组织文件的方法常用的文件系统:…

TCP 连接中的TIME_WAIT

原文:http://blog.csdn.net/wangpengqi/article/details/17245349 这就有个细节,一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断? 百度后,找到原因,主要…

丁丁打折网卷能用吗_微信群控还能用吗?现在什么群控还能使用吗?

微信群控系统还能用吗?为什么现在微信群控系统越来越被限制了呢?其实,微信群控我想在生活中占据着很大的位置!因为微信这么多的使用,现在微信使用人数都是几十亿了,所以很多人看重微信群控系统的市场&#…

错题整理

1.JAVA语言的下面几种数组复制方法中,哪个效率最高? A for循环逐一复制 B System.arraycopy C System.copyof D 使用clone方法 答案:B A、for循环的话,很灵活,但是代码不够简洁. for循环为什么慢,java中所…

xpath中两个冒号_爬虫学习(5)—XPath

之前我们写了一个简单的爬虫,在提取页面信息时我们使用正则表达式来匹配内容,但是正则表达式的书写比较繁琐,而且一旦错误就可能导致匹配失败。对于网页的节点来说,它可以定义id,class或其他的属性,而且节点…

canny算法的实现(android加载图片,数组写入文件换行)

Canny边缘检测首先要对图像进行高斯去噪,前面讲到了高斯去噪处理,这里从对图像灰度进行微分运算讲起吧。微分运算常用的方法是利用模板算子,把模板中心对应到图像的每一个像素位置,然后按照模板对应的公式对中心像素和它周围的像素…

【VirtualBox】VirtualBox的桥接网络模式,为啥网络不稳定?

网桥模式访问外网非常慢,经常卡死,ping时断时续 七搞八搞,反复重启了几次 TMD 就好了,也不知道什么情况,VirtualBox还是不太好使啊。。。。。 网桥模式 设置 如下: 参考资料: http://blog.csdn…

白盒基本路径发测试实验报告_软件生命周期、白盒测试、黑盒测试

继上一讲:隅巳毕月:达摩克里斯之——排序与查找技术​zhuanlan.zhihu.com我们今天来讲一下软件周期与两种软件测试方法软件开发应遵循一个软件的生命周期,通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。软…

Windows7睡眠后自动唤醒

笔者的电脑(Windows7 64位旗舰版)睡眠后,隔段时间后会自动唤醒。经两项配置后,解决了该问题。 1 禁用唤醒定时器 控制面板里进入"电源选项""更改计划设置"界面,如下图所示 单击上图的"更改高…

bootstrap 两个轮播图冲突_为什么使用bootstrap在一个页面同时做两个轮播效果时,只有第一个有效??...

我们都知道使用bootstrap做轮播效果非常快,但是有时候一个页面会需要两个轮播;但这个时候再次使用bootstrap做轮播效果时就会失效;原因在于bootstrap的Carousel问题,只要修改一下id,就好了~~这是第一个轮播&#xff1a…

Ajax的用法

1 Ajax是什么 1.1 Asynchronous JavaScript and XML(异步的javascript和xml) 实质为:使用浏览器内置的一个对象(XmlHttpRequest)向服务器发送请求,服务器返回xml数据或文本数据给浏览器,然后在浏…

Node.js server使用

一、创建项目 #创建项目目录 cd /data mkdir webroot cd webroot#初始化git git init vim .gitignore 输入: node_modules/ 保存: :wq#初始化npm,生成package.json npm init#安装express npm install -D express#创建入口文件 vim app.js输入: var expr…

模仿Linux内核kfifo实现的循环缓存

想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式。使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了。偶然间看到分析Linux内核的循环缓冲队列kfifo的实现,确实极其巧妙。…