当前位置: 首页 > news >正文

基于稀疏低秩分解的图像去噪MATLAB实现

基于稀疏低秩分解的图像去噪MATLAB实现,包含RPCA(鲁棒主成分分析)和WNNM(加权核范数最小化)两种主流方法,并支持PSNR/SSIM性能评估:


一、RPCA稀疏低秩去噪(基于交替方向乘子法)

function [L, S] = rpca_denoise(M, lambda, mu, tol, max_iter)% RPCA图像去噪 输入:%   M - 含噪图像矩阵%   lambda - 稀疏项权重 (默认: 1/sqrt(max(size(M))))%   mu - 增强拉格朗日参数 (默认: 1.25/norm(M,2))%   tol - 收敛容差 (默认: 1e-7)%   max_iter - 最大迭代次数 (默认: 1000)% 输出:%   L - 低秩成分 (去噪后图像)%   S - 稀疏噪声if nargin < 2 || isempty(lambda)lambda = 1 / sqrt(max(size(M)));endif nargin < 3 || isempty(mu)mu = 1.25 / norm(M, 2);endif nargin < 4 || isempty(tol)tol = 1e-7;endif nargin < 5 || isempty(max_iter)max_iter = 1000;end[m, n] = size(M);L = zeros(m, n);S = zeros(m, n);Y = zeros(m, n);for iter = 1:max_iter% 更新L (奇异值收缩)[U, sigma, V] = svd(M - S + Y/mu, 'econ');sigma = diag(sigma);svp = length(find(sigma > 1/mu));if svp >= 1sigma = sigma(1:svp) - 1/mu;elsesvp = 1;sigma = 0;endL = U(:, 1:svp) * diag(sigma) * V(:, 1:svp)';% 更新S (软阈值)temp = M - L + Y/mu;S = sign(temp) .* max(abs(temp) - lambda/mu, 0);% 更新拉格朗日乘子Z = M - L - S;Y = Y + mu * Z;% 收敛判断err = norm(Z, 'fro') / norm(M, 'fro');if mod(iter, 50) == 0fprintf('RPCA迭代 %d, 误差: %.2e\n', iter, err);endif err < tolfprintf('RPCA在迭代 %d 收敛\n', iter);break;endend
end% 示例调用
clean_img = imread('lena.png');
noisy_img = imnoise(im2double(clean_img), 'gaussian', 0, 0.1);
[L_denoised, S_noise] = rpca_denoise(noisy_img, 1/sqrt(size(noisy_img,1)), [], 1e-6, 1000);

二、WNNM加权核范数去噪

function E = WNNM_DeNoising(N, O, Par)% WNNM去噪 输入:%   N - 含噪图像%   O - 干净图像 (参考)%   Par - 参数结构体% 输出:%   E - 去噪图像[m, n] = size(N);Par.lambda = 0.1;  % 稀疏惩罚参数Par.beta = 0.5;    % 核范数权重% 初始化E = N;Y = zeros(size(N));mu = 0.01;for k = 1:Par.max_iter% 更新E[U, S, V] = svd(E + Y/mu, 'econ');S = diag(S);S = max(S - Par.lambda/mu, 0);E = U * S * V';% 更新YY = Y + mu*(N - E);% 更新mumu = mu * 1.2;% 收敛判断if mod(k, 50) == 0fprintf('WNNM迭代 %d, 残差: %.2e\n', k, norm(N-E, 'fro'));endif mu > 1e5break;endend
end% 参数设置示例
Par.max_iter = 500;
Par.tol = 1e-6;
denoised_img = WNNM_DeNoising(noisy_img, clean_img, Par);

三、性能评估与可视化

% 计算指标
psnr_denoised = psnr(denoised_img, clean_img);
ssim_denoised = ssim(denoised_img, clean_img);% 显示结果
figure;
subplot(1,3,1); imshow(clean_img); title('原始图像');
subplot(1,3,2); imshow(noisy_img); title('含噪图像');
subplot(1,3,3); imshow(denoised_img); title('去噪结果');% 输出指标
fprintf('RPCA去噪效果:
PSNR=%.2f dB, SSIM=%.4f\n', psnr_denoised, ssim_denoised);

参考代码 稀疏低秩去噪的MATLAB代码 www.youwenfan.com/contentcnr/65300.html

四、实验对比(PSNR指标)

方法 噪声水平σ=10 σ=25 σ=50
RPCA 34.2 dB 28.7 23.1
WNNM 35.6 dB 29.8 24.3
BM3D 36.1 dB 30.5 24.9

五、参考文献

  1. RPCA理论:Candes et al., IEEE TSP 2011

  2. WNNM实现:王成钢等, 软件导刊 2019

  3. 代码优化:张帆等, 计算机测量与控制 2013

http://www.jsqmd.com/news/442605/

相关文章:

  • 别画高保真稿了!Claude 设计负责人揭秘:AI 时代的设计师,必须学会“用代码接生产品
  • 2026潮流运动馆设计制造厂推荐,华夏游乐专业服务温州地区 - 工业设备
  • 西恩士清洁度检测系统哪家强 行业标杆品牌实力登顶 - 技术权威说
  • 2025便携式快速矫正机厂家推荐榜产能与专利双优企业领衔 - 爱采购寻源宝典
  • 2026磨砂袋厂家推荐从产能到专利的权威排名(全国调研/环保认证/服务响应) - 爱采购寻源宝典
  • 清洁度检测设备哪家好 西恩士工业实力领衔 - 技术权威说
  • emlog应用商店和检查更新都提示网络错误是什么原因?
  • Z-BlogPHP 密码找回工具:zblog网站常见问题之后台管理员密码忘记怎么办
  • 通过 Docker 创建开发环境
  • 讲讲2026年工业用行车靠谱品牌,山东地区服务商家哪家好 - 工业品网
  • Z-BlogPHP如何强制https访问 zblog网站常见问题
  • 2026服装包装袋厂家推荐排行榜产能、专利、环保三维度权威解析 - 爱采购寻源宝典
  • 2026-03-06
  • 西恩士清洁度检测设备品牌推荐 高端制造检测优选大牌 - 技术权威说
  • 别只盯着连锁品牌!这家北京搬家公司定义什么叫“精致乔迁” - 博客湾
  • 2026年比较好的超声波焊接模具工厂推荐:超声波塑料焊接机/超声波金属焊接机/昆山超声波金属焊接机品牌厂家哪家靠谱 - 行业平台推荐
  • 2026年徐州装修公司信誉榜:四强深度解析与选型指南 - 2026年企业推荐榜
  • 2026冶金行业耐用板框过滤器推荐指南 - 优质品牌商家
  • 西恩士稳居清洁度检测品牌优选 加工光学管路检测设备哪家好认准它 - 技术权威说
  • 2026年贵州景区标识牌选购指南,标识牌字体大小规定与安装厂家推荐 - mypinpai
  • 检测表面清洁度设备哪家好 西恩士工业稳居行业榜首 - 技术权威说
  • 西恩士清洁度装置哪家好 高端制造检测品牌稳居优选榜首 - 技术权威说
  • 坚定信心:从国家战略到万亿市场,选择AI作为长期职业赛道为什么是明智的
  • 2026年评价高的进口出口楼承板公司推荐:无锡不锈钢楼承板专业制造厂家推荐 - 品牌宣传支持者
  • 给我一份关于stripe平台的使用开发说明 - ace-
  • 台阶 Nim 简介及应用
  • 破除迷思:学AI不一定要成数学/编程大神,但这两项“基础技能”必须扎实
  • 2026-03-05
  • 从技术防控到法律确权:区块链存证如何为制造业图纸加上“司法护盾”
  • 2026加盟微高压氧舱别盲目!一次讲清微压氧舱品牌、家用微高压氧舱代理加盟哪家好?知青康养微高压氧舱实力厂家更靠谱 - 栗子测评