基于自适应曲线阈值和非局部稀疏正则化的压缩感知图像复原研究【自适应曲线阈值去除加性稳态白/有色高斯噪声】(Matlab代码实现)

news2024/11/24 0:41:11

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

文献来源:

 压缩传感(CS)是最近出现的技术,也是信号和图像处理中广泛研究的问题,它提出了一种新的框架,用于以明显低于奈奎斯特速率的速率同时采样和压缩稀疏或可压缩信号。也许,设计一个反映图像稀疏先验信息的有效正则化项在CS图像恢复中起着至关重要的作用。近年来,局部平滑度和非局部自相似性都导致了CS图像恢复的先验稀疏性。本文首先,建立了自适应曲线阈值判据,试图自适应去除CS恢复过程中恢复图像中出现的扰动,强加稀疏性。此外,还建立了一种新的稀疏性度量,称为联合自适应稀疏性正则化(JASR),该度量在变换域中同时强制执行局部稀疏性和非局部三维稀疏性。然后,提出了一种基于JASR的高保真CS图像恢复技术——CS-JASR。为了有效地求解所提出的相应优化问题,我们采用了拆分布雷格曼迭代。大量的实验结果证明了与目前最先进的CS图像修复方法相比,所提方法的充分性和有效性。

原文摘要:

Compressive sensing (CS) is a recently emerging technique and an extensively studied problem in signal and image processing, which suggests a new framework for the simultaneous sampling and compression of sparse or compressible signals at a rate significantly below the Nyquist rate. Maybe, designing an effective regularization term reflecting the image sparse prior information plays a critical role in CS image restoration. Recently, both local smoothness and nonlocal self-similarity have led to superior sparsity prior for CS image restoration. In this paper, first, an adaptive curvelet thresholding criterion is developed, trying to adaptively remove the perturbations appeared in recovered images during CS recovery process, imposing sparsity. Furthermore, a new sparsity measure called joint adaptive sparsity regularization (JASR) is established, which enforces both local sparsity and nonlocal 3-D sparsity in transform domain, simultaneously. Then, a novel technique for high-fidelity CS image recovery via JASR is proposed-CS-JASR. To efficiently solve the proposed corresponding optimization problem, we employ the split Bregman iterations. Extensive experimental results are reported to attest the adequacy and effectiveness of the proposed method comparing with the current state-of-the-art methods in CS image restoration.

📚2 运行结果

 

可视化代码:

%%% displaying the images
figure, 

subplot(2,3,1), imagesc(noise), colormap('gray'),
colorbar, title('noise'), axis off

subplot(2,3,4), imagesc(fftshift(noise_FFT_PSD)), colormap('jet'),
colorbar, title('noise FFT-PSD'), axis off

subplot(2,3,2), imagesc(x), colormap('gray'),
colorbar, title('ground-truth'), axis off

subplot(2,3,3), imagesc(z), colormap('gray'),
colorbar, axis off, title(sprintf('noisy image\nPSNR=%0.2fdB',psnr_noisy))

subplot(2,3,5), imagesc(x_est_ksigma), colormap('gray'),
colorbar, axis off, title(sprintf('denoised image using k-sigma\nPSNR=%0.2fdB',psnr_ksigma))

subplot(2,3,6), imagesc(x_est_ACT), colormap('gray'),
colorbar, axis off, title(sprintf('denoised image using ACT\nPSNR=%0.2fdB',psnr_act))


%%  Auxiliary function for generating Gaussian noise

function  [noise, noise_FFT_PSD] = generate_Gaussian_noise(SizeX)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% generate_Gaussian_noise creates stationary white/colored Gaussian noise
% with respect to a convolutional kernel selected randomly.
%
%
% FUNCTION INTERFACE:
%         [noise, noise_FFT_PSD] = generate_Gaussian_noise(SizeX)
%
% ________________________________________________________________________________
%  INPUT:        |  CLASS:  | DESCRIPTION:
% --------------------------------------------------------------------------------
%  SizeX         | (double) | Size of the ground-truth image.
%
%
% ________________________________________________________________________________
%  OUTPUTS:      |  CLASS:  | DESCRIPTION:
% --------------------------------------------------------------------------------
%  noise         | (double) | generated stationary Guassian noise.
% --------------------------------------------------------------------------------
%  noise_FFT_PSD | (double) | the noise FFT-PSD (as size as SizeX).  
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
kernel_type  = randi([1 14]); % the randomly selected kernel for noise generation
normalizer   = @(n) (n-mean(n(:)))./std(n(:)); % making the noise zero-mean with unit variance

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

Compressive Sensing Image Restoration Using Adaptive Curvelet Thresholding and Nonlocal Sparse Regularization | IEEE Journals & Magazine | IEEE Xplore

🌈4 Matlab代码实现

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

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

相关文章

自带flash的浏览器,免安装

一. 内容简介 自带flash的浏览器,免安装 二. 软件环境 2.1 FlashBrowser_v1.0.5 2.2 安装包链接 链接:https://pan.baidu.com/s/1O8_uHBkDMAXnj0KCfj_Urw?pwd1234 提取码:1234 三.主要流程 3.1 下载安装包 3.2 运行 点击CefFlashBro…

怎么裁剪视频大小尺寸?简单的裁剪方法分享

怎么裁剪视频的画面大小尺寸呢?有时当我们下载下来一段视频,由于视频的画面大小比例不同,会有很多的黑边,我们不管是观看还是进行二次编辑都非常影响体验,而调整视频画面比例以适应观众的设备或平台,比如将…

dotNet 之数据库sqlite

Sqlite3是个特别好的本地数据库,体积小,无需安装,是写小控制台程序最佳数据库。NET Core是同样也是.NET 未来的方向。 **硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 D…

iview 日期 datetimerange

问题&#xff1a;每次点击编辑按钮进入到编辑页面&#xff0c;活动时间明明有值&#xff0c;却还是提示请选择活动时间。 原因&#xff1a;值没绑定上 解决办法&#xff1a;v-model 修改为 :value <Form-item label"活动时间" prop"timeRange"><d…

谷粒商城第九天-对商品服务中所涉及到的表的思考

目录 一、总述 二、spu、sku、规格参数、销售属性之间的关系理解 三、相关表设计 1. 属性表 2. 基本属性分组表 3. 分组-基本属性关系表 ​4. spu基本属性值表 5. spu详情信息表 6. spu评论表 7. 商品sku值表 8. sku详情表 9. sku图片表 10. 分类表 11. 品牌表 …

什么是代码合并。PR、MR通识说明

What is it ? 首先我想先来讲讲什么是分支合并请求Merge Request(也可叫Pull Request&#xff0c;下文中全用Merge Request或其缩写MR指代)&#xff0c;以及它有什么作用&#xff08;如果你对此概念有所了解&#xff0c;你完全可以跳过What is it&#xff09;。 MR(或者PR)就…

海外应用商店优化实用指南之元数据的迭代更新

随着每天都有新应用程序加入App Store和Google Play商店&#xff0c;许多应用程序都会针对与我们相同的关键词&#xff0c;虽然我们的元数据保持不变&#xff0c;但竞争对手的应用会重新编入索引&#xff0c;最终导致我们的关键词排名随着时间的推移稳步下降。 1、迭代的重要性…

Mysql in 查询的奇怪方向

Mysql in 查询的奇怪方向 关于表字段存储的数据为 num1,num2,num3时, 还要通过多个num1,num2入参针对该字段进行查询 建表语句 CREATE TABLE test (test_ids varchar(100) DEFAULT NULL COMMENT 保存ids 以逗号分隔 ) ENGINEInnoDB;数据项 查询语句 SELECT test_ids FROM t…

OSPF工作原理及其配置命令

目录 一、OSPF&#xff08;开放式最短路径优先协议&#xff09;&#xff1a; 作用&#xff1a;防环 弊端&#xff1a; 结构化部署: 更新方式&#xff1a; 二、OSPF的数据包 三、OSPF的状态机 Down Init 2way 条件&#xff1a; Exstart Exchange Loadi…

Stephen Wolfram:让 ChatGPT 真正起作用的是什么?

What Really Lets ChatGPT Work? 让 ChatGPT 真正起作用的是什么&#xff1f; Human language—and the processes of thinking involved in generating it—have always seemed to represent a kind of pinnacle of complexity. And indeed it’s seemed somewhat remarkabl…

stm32项目(9)——基于stm32的智能门窗设计

目录 一.功能设计 二.硬件方案 1.单片机 2.显示器 3.温湿度模块 4.烟雾模块 5.光照模块 6.数字舵机 7.蓝牙模块 8. 语音识别模块 三.程序设计 四.课题意义 五.国内外发展现状 一.功能设计 本次设计的功能如下&#xff1a; 系统包括了语音模块 、传感器数据采集模块和…

冠达管理:炒股知识入门?

股市出资是指将资金投入到股票商场&#xff0c;在商场改变中获取收益的出资行为。股票商场波动性大&#xff0c;收益高&#xff0c;招引了大量出资者的眼球&#xff0c;但是也需要出资者具备一定的常识和技能。下面从多个角度剖析&#xff0c;帮助初学者了解股市出资。 一、基本…

恒运资本:股票印花税下降有什么影响?什么原因导致下降?

在进行股票教育过程中是需求收取必定的手续费的&#xff0c;比如说买卖佣钱、印花税、过户费等等。那么股票印花税下降有什么影响&#xff1f;什么原因导致下降&#xff1f;下面就由恒运资本为大家剖析&#xff1a; 股票印花税下降有什么影响&#xff1f; 1、对于企业&#xf…

Effective Java笔记(32)谨慎并用泛型和可变参数

故事的小黄花 从出生那年就飘着 童年的荡秋千 随记忆一直晃到现在 可变参数&#xff08; vararg &#xff09; 方法&#xff08;详见第 53 条&#xff09;和泛型都是在 Java 5 中就有了&#xff0c;因此你可能会期待它们可以良好地相互作用&#xff1b;遗憾的是&#xff0c;它们…

python科研应用知乎,python库如何安装

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python科研应用知乎&#xff0c;python scipy库安装&#xff0c;现在让我们一起来看看吧&#xff01; 首先cmd进入python-s目录&#xff0c;然后再输入代码 1. 安装numpy 在线安装。此方法参考网页&#xff1a; https:/…

LeaferUI - 性能强悍、简洁轻量的 HTML5 Canvas 2D 图形 UI 绘图框架,用于 web 端在线图形设计、图表、白板、数据可视化等场景

最近想做一个轻巧的在线画册和海报设计工具&#xff0c;最近发布的 LeaferUI 特别适合这样的场景。 LeaferUI 是什么&#xff1f; Leafer UI 是基于 LeaferJS 开发的一套绚丽多彩的 UI 绘图框架&#xff0c;帮助开发者快速生成图形界面。LeaferJS 是一个基于 HTML5 Canvas 开…

3个优秀的PPT模板网站,让你的演示报告更出色!

PPT&#xff0c;作为我们在日常学习和工作中常用的一种呈现工具&#xff0c;其作用和影响力不言而喻。一份精心制作的PPT不仅可以增强观众的理解和记忆&#xff0c;而且还能展示演讲者的专业性和深度。然而&#xff0c;从零开始制作PPT可能需要花费大量的时间和精力&#xff0c…

6款好用的思维导图在线制作网站盘点,拒绝低效、探索创意!

思维导图以其直观、系统的特性&#xff0c;成为了我们理清思路、整理信息的强大助手。利用好思维导图&#xff0c;我们可以更好地理解信息、链接概念&#xff0c;进一步提高我们的学习和工作效率。 在众多制作思维导图的软件中&#xff0c;在线思维导图制作网站更是因其…

opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()

点到轮廓的距离 在 OpenCV 中&#xff0c;函数 cv2.pointPolygonTest()被用来计算点到多边形&#xff08;轮廓&#xff09;的最短距离&#xff08;也 就是垂线距离&#xff09;&#xff0c;这个计算过程又称点和多边形的关系测试。该函数的语法格式为&#xff1a; retval cv2…

(6)(6.3) 复合连接的故障处理

文章目录 6.3 复合连接的故障处理 6.4 相关话题 6.3 复合连接的故障处理 带有 F7 或 H7 处理器并有 CAN 接口的自动驾驶仪使用的固件提供两个 USB 接口。一个用于正常的 MAVLink 连接&#xff0c;一个用于 SLCAN 串行连接到 CAN 接口进行配置和固件更新。这被称为复合型 USB…