基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

4.1 块定义与相似度计算

​4.2 贝叶斯框架下的加权融合

4.3 加权最小均方误差估计

5.完整程序


1.程序功能描述

       基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真,对比不同的参数对OBNLM算法的影响。

2.测试软件版本以及运行结果展示

MATLAB2022A版本运行

3.核心程序

.....................................................................
Im0     = imread('test.png');
Blks1   = 3; 
Blks2   = 5; 
Blks3   = 7; 
Wins    = 17; 
Gblk    = 2;  
h       = 5; Im0     = double(Im0);
Vmax    = 255;
Vmin    = 0;
Imax    = max(max(Im0));
Io      = 0;
Idiff   = Imax - Io;
Vd      = (Vmax - Vmin)/Idiff;
Im0     = (Im0 - Io) * Vd + Vmin;
Im0     = uint8(Im0);Im1     = func_Bayes(Im0, Blks1, Wins, Gblk, h);
Im2     = func_Bayes(Im0, Blks2, Wins, Gblk, h);
Im3     = func_Bayes(Im0, Blks3, Wins, Gblk, h);figure
subplot(221)
imshow(Im0)
title('原图')
subplot(222)
imshow(Im1)
title('OBNLM处理后图像,block=3*3')
subplot(223)
imshow(Im2)
title('OBNLM处理后图像,block=5*5')
subplot(224)
imshow(Im3)
title('OBNLM处理后图像,block=7*7')Im0     = imread('test.png');
Blks1   = 3;  
Wins1   = 13; 
Wins2   = 17; 
Wins3   = 21; 
Gblk    = 2;  
h       = 5; Im0     = double(Im0);
Vmax    = 255;
Vmin    = 0;
Imax    = max(max(Im0));
Io      = 0;
Idiff   = Imax - Io;
Vd      = (Vmax - Vmin)/Idiff;
Im0     = (Im0 - Io) * Vd + Vmin;
Im0     = uint8(Im0);Im1a    = func_Bayes(Im0, Blks1, Wins1, Gblk, h);
Im2a    = func_Bayes(Im0, Blks1, Wins2, Gblk, h);
Im3a    = func_Bayes(Im0, Blks1, Wins3, Gblk, h);figure
subplot(221)
imshow(Im0)
title('原图')
subplot(222)
imshow(Im1a)
title('OBNLM处理后图像,Win=13*13')
subplot(223)
imshow(Im2a)
title('OBNLM处理后图像,Win=17*17')
subplot(224)
imshow(Im3a)
title('OBNLM处理后图像,Win=21*21')
53

4.本算法原理

       分块贝叶斯非局部均值优化(Optimized Block-Based Non-local Means, OBNLM)是一种高级图像去噪技术,它在经典非局部均值(Non-local Means, NLM)算法的基础上引入了块的概念和贝叶斯统计理论,以提高去噪效率和保真度。OBNLM不仅考虑了图像中像素间的相似性,还通过块匹配和概率模型来优化相似块的加权融合,从而更精准地恢复图像细节。非局部均值算法的基本思想是认为图像中的某个像素不仅仅与其周围的像素有关系,还可能与图像中远离它的、具有相似结构的其他像素相关。OBNLM在此基础上进一步提出,将图像分割成多个块,并在块级别上寻找相似性,这不仅减少了计算复杂度,还能有效捕捉大范围的图像结构信息。

4.1 块定义与相似度计算

4.2 贝叶斯框架下的加权融合

4.3 加权最小均方误差估计

       实际计算中,直接求解上述最小化问题计算复杂度高,因此OBNLM采用近似方法,如快速搜索策略和分块的迭代更新机制,减少计算量。同时,为了处理边缘区域和块边界问题,常采用边界扩展或镜像填充等技术。

5.完整程序

VVV

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

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

相关文章

SA316系列音频传输模块-传输距离升级音质不打折

SA316是思为无线研发的一款远距离音频传输模块,音频采样率为48K,传输距离可达200M。为了满足更多用户需求,思为无线在SA316基础上进一步增加传输距离推出SA316F30。相比SA316性能,同样其采用48K采样,-96dBm灵敏度&…

SAP PP学习笔记 - 错误 CX_SLD_API_EXCEPTION - Job dump is not fully saved (too big)

我这个错误是跑完MRP,然后在MD04查看在库/所有量一览, 点计划手配(Planned order 计划订单)生成 制造指图(Production order 生产订单), 到目前这几步都OK,然后在制造指图界面点保…

Linux之sshpass命令

介绍 sshpass是一个工具,用于通过SSH连接到远程服务器时自动输入密码。它允许您在命令行中指定密码,以便在建立SSH连接时自动进行身份验证。 安装 # 以centos为例 yum install sshpass -y 使用方法 sshpass [-f filename | -d num | -p password | …

校园周边美食探索及分享平台,基于 SpringBoot+Vue+MySQL 开发的前后端分离的校园周边美食探索及分享平台设计实现

目录 一. 前言 二. 功能模块 2.1. 前台首页功能模块 2.2. 用户功能模块 2.3. 管理员功能模块 三. 部分代码实现 四. 源码下载 一. 前言 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起&#xff0…

Vue从入门到实战Day12~14 - Vue3大事件管理系统

一、用到的知识 Vue3 compositionAPIPinia / Pinia持久化处理Element Plus(表单校验,表格处理,组件封装)pnpm 包管理升级Eslint prettier 更规范的配置husky(Git hooks工具):代码提交之前,进行校验请求模…

OrangePi Kunpeng Pro ——信创再接力

文章目录 OrangePi Kunpeng Pro ——信创再接力1. 绪论1.1 开箱 2. 硬件介绍2.1 硬件配置2.2 硬件清单 3. 网络测试3.1 有线连接3.2 WIFI连接 4.查看系统配置5. 安装常用软件5.1 安装python5.1.1 更换pip源为国内清华源 5.2 安装docker5.3 安装opencv5.4 安装dlib 6.CPU多进程能…

LeetCode //C - 143. Reorder List

143. Reorder List You are given the head of a singly linked-list. The list can be represented as: L0 → L1 → … → Ln - 1 → Ln Reorder the list to be on the following form: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … You may not modify the values i…

MVCC机制

个人理解篇,不一定对,应付面试的时候看的 MVCC(Multi-Version Concurrency Control)全称多版本并发控制,主要用在隔离模式下的提交读、可重复读模式下,依赖于readview和undolog链 一、readview 1、结构 字段 备注 m_ids 活跃…

代码随想录——合并二叉树(Leetcode617)

题目链接 层序遍历 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) …

工业制造企业为什么要进行数字化转型

人人都在谈数字化转型,政府谈数字化策略方针,企业谈数字化转型方案,员工谈数字化提效工具。互联网企业在谈,工业企业也在谈。 在这种大趋势下,作为一个从事TOB行业十年的老兵,今天就来给大家讲讲&#xff…

【C/C++基础实战】:用C++实现通讯录管理系统——含完整源码

文章目录 通讯录管理系统一、系统需求以及成品演示二、代码实现三、完整代码 通讯录管理系统 一、系统需求以及成品演示 1.1 系统需求 通讯录是一个可以记录亲人、好友信息的工具。这里利用C来实现一个通讯录管理系统 系统中需要实现的功能如下: 添加联系人&am…

申请的商标名称相同或近似,如何解决!

最近遇到一些首次申请注册商标的主体,基本想的名称都是两个字或或者两个字加通用词,还有用的行业描述词或缺乏显著特征词,这样去申请注册商标,普推知产老杨分析这样去直接申请注册大概率驳回。 两个字基本上注册的差不多了&#…

Ubuntu 20.04中用scrapy爬取博客园新闻首页的简单示例

一、梳理scrapy项目目录创建: 1、命令行终端定位到pycharm主目录:cd PycharmProjects 2、建立项目名称:scrapy startproject searchArticle 3、定位到项目目录下:cd searchArticle 4、设置爬虫名称与欲爬取的域名地址&#xf…

为什么c语言不对0和NULL做严格的区分?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「c语言的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!这个答案很简单:c语言不区分…

上海亚商投顾:沪指冲高回落 电力、电网产业链持续爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整,深成指、创业板指均跌超1%。电力、电网股再度爆发,众智科技、郴电国…

展望跨境智慧银行在全球化金融服务中的发展趋势和机遇

一、引言 随着全球经济的不断融合和金融科技的迅猛发展,跨境智慧银行作为连接不同国家和地区金融市场的桥梁,正逐渐展现出其独特的魅力和潜力。跨境支付与结算作为跨境智慧银行的核心业务之一,随着全球化的深入发展和国际贸易的日益频繁,其业务场景也愈发丰富和复杂。本文…

Xcode 15 libarclite 缺失问题

升级到Xcode 15运行项目报错,报错信息如下: SDK does not contain libarclite at the path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a; try increasing the minimum d…

基于PHP+MySQL组合开发的720VR全景小程序源码系统 一键生成三维实景 前后端分离带网站的安装代码包以及搭建教程

系统概述 这款源码系统是专门为实现 720VR 全景展示而设计的。它结合了先进的技术和创新的理念,能够将真实场景以全景的形式呈现给用户,让用户仿佛身临其境。该系统采用 PHP 进行后端开发,MySQL 作为数据库管理系统,确保了系统的…

G60-M60F-ZQ手动抓取快速接头,专用于吊装设备的重物快速抓取

客户需求概述: 客户需要将重达将近400公斤的产品从一个工作台移动至另一个工作台,目前的方法是通过人工将吊环的螺纹与产品的螺纹相互拧紧,然后利用装备吊起移动,但这种方式效率低下,且因为工人的操作有时难以达到理想…

使用vanna实现Text2SQL

这节一起用vanna来实现自然语言转SQL,之前的大模型一直停留在问答阶段,答案基本都是大模型提供的,至多是加点本地知识库,tet,pdf等文档,丰富大模型的内容,但是想要大模型与一些管理系统对接还是…