【图像去噪】【TGV 正则器的快速计算方法】通过FFT的总(广义)变化进行图像去噪(Matlab代码实现)

2023-09-20 14:37:53

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

【图像去噪】【TGV 正则化器的快速计算方法】通过FFT的总(广义)变换进行图像去噪,可提供更自然的恢复图像。为了进一步提升算法的执行效率,我们通过在FFTed(快速傅里叶变换后的)域中求解多变量方程的方式进行优化。

图像去噪是数字图像处理领域中一个重要的任务,通过消除图像中的噪声,可以提高图像的质量和清晰度。TGV(总变差正则化)是一种常用的图像去噪方法,它结合了总变差和梯度正则化,能够有效地去除图像中的噪声,并保持图像细节的准确性。

为了加速TGV正则化器的计算过程,我们利用了FFT(快速傅里叶变换)的性质。FFT是一种高效的算法,可将信号从时域转换到频域,对于处理图像数据非常有效。通过将图像和正则化器在傅里叶域中进行计算,我们可以将复杂的多变量方程转化为一系列更简单的单变量方程,从而大大简化了计算过程。

具体而言,我们首先对输入图像和TGV正则化器进行FFT变换,将它们转换到频域。然后,在频域中,我们将TGV正则化器应用于傅里叶变换后的图像数据,通过解决一系列独立的单变量方程来恢复图像。最后,我们将得到的结果再次通过逆FFT变换转换回时域,得到最终的去噪图像。

这种基于FFT的快速计算方法不仅提高了TGV正则化器的执行速度,还能够更准确地恢复图像的细节和结构。通过在频域中进行运算,我们可以更充分地利用FFT的高效性能,从而在保证图像质量的同时,减少计算时间和资源消耗。

这种快速计算方法在图像去噪领域具有广泛的应用前景,可以在实际的图像处理任务中提供更高效和准确的结果。通过进一步研究和改进,我们可以不断优化这种方法,为图像去噪技术的发展做出更大贡献。

📚2 运行结果

主函数代码:

clear all;
close all;
clc;

help imtgvsmooth

% ADMM parameters
nite = 20; % number of iterations

% balancing weights for Total Variation
alpha = 0.06;  % 1st order
beta = 0.05; % 2nd order


%
% load an image
%
fname = 'sanada.jpg';
I = im2double( imread( fname ) );

I0 = I; % original as the reference

% Additional noise
I = imnoise( I, 'gaussian', 0, 0.1^2 );


%
% TGV with R,G,B independent processing
%
J = zeros( size(I) );

if ( size(I,3)==3 )
	I_ycc = rgb2ycocg( I );
end

for c = 1:size(I,3)
	J(:,:,c) = imtgvsmooth( I_ycc(:,:,c), alpha, beta, nite );
end

if ( size(I,3)==3 )
	J = ycocg2rgb( J );
end

%
% PSNR
%
psnr_noisy = 10*log10( 1/mean( ( I0(:) - I(:) ).^2 ) );
psnr_tgv = 10*log10( 1/mean( ( I0(:) - J(:) ).^2 ) );

%
% Dsiplaying results
%
figure(1), imshow( [I0, I, J] );
title( sprintf('From the left,  original,  noisy %.2fdB,  TGV %.2fdB', psnr_noisy, psnr_tgv ) );



clear all;
close all;
clc;

help imtgvsmooth

% ADMM parameters
nite = 20; % number of iterations

% balancing weights for Total Variation
alpha = 0.06;  % 1st order
beta = 0.05; % 2nd order


%
% load an image
%
fname = 'sanada.jpg';
I = im2double( imread( fname ) );

I0 = I; % original as the reference

% Additional noise
I = imnoise( I, 'gaussian', 0, 0.1^2 );


%
% TGV with R,G,B independent processing
%
J = zeros( size(I) );

if ( size(I,3)==3 )
    I_ycc = rgb2ycocg( I );
end

for c = 1:size(I,3)
    J(:,:,c) = imtgvsmooth( I_ycc(:,:,c), alpha, beta, nite );
end

if ( size(I,3)==3 )
    J = ycocg2rgb( J );
end

%
% PSNR
%
psnr_noisy = 10*log10( 1/mean( ( I0(:) - I(:) ).^2 ) );
psnr_tgv = 10*log10( 1/mean( ( I0(:) - J(:) ).^2 ) );

%
% Dsiplaying results
%
figure(1), imshow( [I0, I, J] );
title( sprintf('From the left,  original,  noisy %.2fdB,  TGV %.2fdB', psnr_noisy, psnr_tgv ) );

🎉3 参考文献

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

[1]张文娟,王艳红,ZHANGWen-juan,WANGYan-hong.运用TGV正则化分解模型实现天文图像去噪[J].西安工业大学学报, 2012(9).DOI:10.3969/j.issn.1673-9965.2012.09.003.

[2]陈育群,陈颖频,林凡,等.一种快速交叠组合稀疏全变分图像去噪方法[J].闽南师范大学学报:自然科学版, 2019, 32(3):6.DOI:CNKI:SUN:ZSXZ.0.2019-03-008.

[3]张文静.TGV正则化与小波变换结合的图像去噪算法研究[D].武汉理工大学,2014.DOI:10.7666/d.D639381.

🌈4 Matlab代码实现

更多推荐

方案:浅析AI视频分析与视频监控技术的工厂车间智能化监管方案

一、方案背景工厂生产车间一般是从原材料到成品的流水作业,有大量器械和物料。为保障车间财产安全并提高生产效率,需要进行全面的监管。在生产制造流水线的关键工序中,不仅有作业过程监管需求,同时,也存在生产发生异常及产品质量问题的过程还原需求,需要结合直观现场与客观数据的融合分析。当前工厂车间的监管存在以下痛点:1)生产状态(

一致性思维链(SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS)

概要思维链已经在很多任务上取得了非常显著的效果,这篇论文中提出了一种self-consistency的算法,来代替贪婪解码算法。本方法通过采样多个思维链集合,然后LLM模型生成后,选择一个最一致的答案作为最后的结果。一致性思维链认为复杂的推理问题,有不同的思维方式去解决,从而得到最终唯一答案。经过实验验证,一致性思维链

nginx 配置 ssl

1.1Nginx如果未开启SSL模块,配置Https时提示错误原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看:做个说明:我的nginx的安装目录是/u

Python3.11教程6:标准库简介1——os、shutil、sys、random、time、datetime、 threading

文章目录一、文件和目录处理模块1.1os模块1.2shutil模块1.3文件通配符glob1.4stat二、sys模块2.1命令行参数列表2.2-c和-m选项2.3argparse2.3.1argparse使用逻辑2.3.2`add_argument()`语法三、数学3.1math3.2random3.3numpy生成

民安智库(第三方满意度调研公司)建立企业员工满意度测评指标体系

员工满意度是企业管理者关注的重点,企业管理层如何了解职工满意度状况?民安智库借鉴国内外研究成果,总结了企业职工满意度评价指标构建原则、研究方法及研究流程。为什么要建立员工满意度测评指标体系?在现代人力资源管理强调“以人为本”的管理理念下,企业需要尊重并重视员工的需求,并将员工视为最宝贵的、可增值的资源。企业的医务人员作

小剧场短剧影视小程序源码分享,搭建自己的短剧小程序

拥有一个属于自己的短剧小程序,是现代人追求创作梦想和与观众互动的新方式。近年来,小剧场短剧影视小程序的兴起为广大创作者提供了展示才华和与观众互动的平台。如果你也渴望搭建一个自己的短剧小程序,那么你来对地方了!在本文中,我将分享小剧场短剧影视小程序的源码,帮助你开始属于自己的短剧创作之旅。小剧场短剧影视小程序源码:为什么

leetcode 1562. 查找大小为 M 的最新分组

给你一个数组arr,该数组表示一个从1到n的数字排列。有一个长度为n的二进制字符串,该字符串上的所有位最初都设置为0。在从1到n的每个步骤i中(假设二进制字符串和arr都是从1开始索引的情况下),二进制字符串上位于位置arr[i]的位将会设为1。给你一个整数m,请你找出二进制字符串上存在长度为m的一组1的最后步骤。一组

【问题记录】解决Git上传文件到GitHub时收到 “GH001: Large files detected” 错误信息!

环境Windows11家庭中文版gitversion2.41.0.windows.1GitHub问题情况在命令行中使用git上传pdf文件到GitHub服务器时,提示了如下警告信息:原因是GitHub有一个文件大小限制,通常为100MB。如果尝试上传大于此限制的文件,GitHub将拒绝接受这个文件。如果上传大于50MB

【面试经典150 | 数组】多数元素

文章目录写在前面Tag题目来源题目解读解题思路方法一:哈希表方法二:排序方法三:摩尔投票法写在最后写在前面本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:Tag:介绍本题牵

淘宝问问:电商AI,重新定义购物体验

AI大模型进展的如火如荼,怎么少得了电商平台的参与,淘宝率先打响了第一枪。每一个软件都会有自己的Copilot,淘宝的就叫“淘宝问问”。用户可以在淘宝上使用“淘宝问问”来获取商品信息、价格、评价等,当前是内测版,虽有惊喜,但终究是刚刚发布内测,能力上还有待提升。淘宝问问通过语音、文字的方式进行交互,除基于通义千问的AI

Vue3 环境变量

文章目录前言一、环境变量简介二、自定义环境变量生产环境预览三、vite配置文件读取环境变量总结前言本文主要记录在项目中如何定义环境变量,达到不同环境中有不同的效果以及在vite配置文件中读取环境变量的方法。一、环境变量简介场景:各个环境下存在某些差异,比如请求地址不同,方便测试做的一些测试功能,这些在不同环境下都是不同

热文推荐