基于偏微分方程去噪-全变分模型

本文使用MATLAB实现基于偏微分方程的全变分模型进行图像去噪。首先读取图像并添加高斯噪声,然后通过迭代优化算法更新图像,以减少噪声影响。最终,通过计算PSNR、SNR和MAE评估去噪效果,并展示不同迭代次数下的图像对比。
摘要由CSDN通过智能技术生成
全变分模型
全变分模型的图像空间仍然是有界变差空间,满足的约束条件与热方程类似,图像去噪的能量泛函如下:

对应的Euler-Lagrange方程同前所述一样,如下:

由最速下降法获得上述能量泛函对应的PDEs初边值问题如下:

  下面为该偏微分方程的matlab实现代码:


clear all

close all

clc

 

Io=imread('picture.jpg');% 读入一幅图像

 

% 选择一个颜色矩阵,并且变成双浮点型的,这一步没有可能报错.

if(ndims(Io) == 3)

    Io = rgb2gray(Io);

end;                   

 

Io=double(Io);                                        

 

% % % %%% Add noise %%% % % %

std_n=20;                                     % 高斯噪声比准差

var_n=std_n^2;                             % 高斯噪声比准差

 

NI = randn(size(Io))*std_n;                 % 白色高斯噪声

In = Io + NI;                                 % 把噪声加到原图上面

 

 

N =100;                                       %迭代图像

dt=0.2;                                       %网比(一般对于n维时,dt<= (1/2)^n这样子差分方程迭代才稳定)

lambda=0.01;                                  %给lambda赋初值

tic

[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAE J] =TV(In,Io,dt,N,lambda,var_n);%调用函数

toc

[MaxPSNR, Index1]=max(ALLPSNR)

[MaxSNR, Index2]=max(ALLSNR)

[MinMAE, Index3]=min(ALLMAE)

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值