一种基于凸优化的图像去噪方法演示
2017-09-01 18:06
274 查看
本文介绍一种基于凸优化的图像去噪方法。 该方法采用L1范数来衡量图像的平滑度,即能滤除澡声,又能最大限度地保存图像的边缘。 模型如下:
其中f(x)为差分矩阵,存放了X每个元素与其4邻域的差值。 I为输入的灰度图像。 对于三通道彩色图像,可对每个通道进行单独处理。gamma为权重,值趣大则图像越平滑。
上述模型为无约束的最小化问题 ,用线性规化可解。 在这里用一个很强大通用的matlab算法包CVX[1]进行求解,可从网上下载。 代码如下:
clc;
clear;
close all;
%% 读入图像并进行加噪处理
I = imread('lean.jpg');
noise_level = 0.2;
G = mat2gray(I) + randn(size(I))*noise_level;
J = zeros(size(I));
%% 对每个通道进行优化
gamma = 0.003;
for i=1:3
g = G(:,:,i);
[m,n] = size(g);
cvx_begin
variable x(m,n)
minimize (norm(x-g,'fro')+gamma*sum(sum(abs((x(:,1:end-1)-x(:,2:end)))))+gamma*sum(sum(abs((x(1:end-1,:)-x(2:end,:))))))
cvx_end
J(:,:,i) = x; %保存优化结果
end
%% 显示图像
figure;
subplot(131);
imshow(I)
title('original image');
subplot(132);
imshow(G)
title('corrupted image');
subplot(133);
imshow(mat2gray(J));
str = ['denoising result (\gamma = ' num2str(gamma) ')'];
title(str);
经过设置不同的gamma值,得到如下三个结果:
参考:
[1] Michael Grant and Stephen Boyd. CVX: Matlab software for disciplined
convex programming, version 2.0 beta.http://cvxr.com/cvx,
September 2013.
其中f(x)为差分矩阵,存放了X每个元素与其4邻域的差值。 I为输入的灰度图像。 对于三通道彩色图像,可对每个通道进行单独处理。gamma为权重,值趣大则图像越平滑。
上述模型为无约束的最小化问题 ,用线性规化可解。 在这里用一个很强大通用的matlab算法包CVX[1]进行求解,可从网上下载。 代码如下:
clc;
clear;
close all;
%% 读入图像并进行加噪处理
I = imread('lean.jpg');
noise_level = 0.2;
G = mat2gray(I) + randn(size(I))*noise_level;
J = zeros(size(I));
%% 对每个通道进行优化
gamma = 0.003;
for i=1:3
g = G(:,:,i);
[m,n] = size(g);
cvx_begin
variable x(m,n)
minimize (norm(x-g,'fro')+gamma*sum(sum(abs((x(:,1:end-1)-x(:,2:end)))))+gamma*sum(sum(abs((x(1:end-1,:)-x(2:end,:))))))
cvx_end
J(:,:,i) = x; %保存优化结果
end
%% 显示图像
figure;
subplot(131);
imshow(I)
title('original image');
subplot(132);
imshow(G)
title('corrupted image');
subplot(133);
imshow(mat2gray(J));
str = ['denoising result (\gamma = ' num2str(gamma) ')'];
title(str);
经过设置不同的gamma值,得到如下三个结果:
参考:
[1] Michael Grant and Stephen Boyd. CVX: Matlab software for disciplined
convex programming, version 2.0 beta.http://cvxr.com/cvx,
September 2013.
相关文章推荐
- 一种基于凸优化的图像去噪方法演示
- 车牌识别中一种新的直接基于彩色图像的二值化简化方法
- 一种基于局部最小代价分水岭变换的图像分割新方法 阅读笔记
- 一种基于特征点匹配的图像检索方法的opencv实现
- 基于一种改进的提取形状特征向量方法,实现图像检索
- 车牌识别中一种新的直接基于彩色图像的二值化简化方法
- 一种基于图像对比度的去雾方法
- 一种基于Haar小波变换的彩色图像人脸检测方法
- 一种基于时空特征及有监督学习的医学图像分类方法:Automatic apical view classfication of echocardiograms using a ...
- 一种基于消失点的单幅未校图像测量新方法
- 一种基于FSIM对视频编码图像质量客观评价的方法
- 【课程论文】一种基于消失点的单幅未校图像测量新方法
- 课程论文】一种基于消失点的单幅未校图像测量新方法
- 一种基于查表的定时开关机判断方法
- 一种基于中断的按键检测方法
- 2014Science-一种基于局部点密度的聚类方法
- 基于小波多尺度和熵在图像字符特征提取方法的改进
- 在VC下显示JPEG、GIF格式图像的一种简便方法
- 图像修复序列-基于低阶秩的图像修复方法
- .NET平台下基于webservice,通过获取硬件cpu序列号和随机字符串序列号实现软件加密的一种方法。