小吴吴吴哈哈哈 2021-11-04 15:14 采纳率: 0%
浏览 50
已结题

提问:怎么将下面利用Split Bregman迭代进行TV全变分降噪去除随机高斯噪声的matlab代码修改成可以去除列向噪声的单向全变分

function u=ATV_ROF(f,mu)
%============================================
% Anisotropic ROF denoising
% This function performs the minimization of
% u=arg min |D_x u|+|D_y u|+0.5*mu*||u-f||_2^2
% by the Split Bregman Iteration
% f = noisy image
% mu = regularization parameter
% Reference:Goldstein T , Osher S . The Split Bregman Method for
% L1-Regularized Problems[J].
%SIAM Journal on Imaging Sciences, 2009, 2(2):323-343.
%============================================
[M,N]=size(f);    
f=double(f);
dx=zeros(M,N);  
dy=zeros(M,N);
bx=zeros(M,N);
by=zeros(M,N);
u=f;
Z=zeros(M,N);
Mask=zeros(M,N);
Mask(1,1) = 1;
FMask=fft2(Mask);
lambda=0.2;
%Fourier Laplacian mask initialization
D = zeros(M,N);
D([end,1,2],[end,1,2]) = [0,1,0;1,-4,1;0,1,0];
FD=fft2(D);
%Fourier constant initialization
FW=((mu/lambda)*abs(FMask).^2-real(FD)).^-1;
FF=(mu/lambda)*conj(FMask).*fft2(f);
err=100;
tol=1e-8;
while err>tol
    tx=dx-bx;
    ty=dy-by;
    up=u;
    %Update u
    u=real(ifft2(FW.*(FF-fft2(tx-tx(:,[1,1:N-1])+ty-ty([1,1:M-1],:)))));
    ux=u-u(:,[1,1:N-1]);
    uy=u-u([1,1:M-1],:);
    %Update dx
     tmpx=ux+bx;
      dx=sign(tmpx).*max(Z,abs(tmpx)-1/lambda);
    %Update dy
    tmpy=uy+by;
     dy=sign(tmpy).*max(Z,abs(tmpy)-1/lambda);
    %Update bx and by
    bx=tmpx-dx;
    by=tmpy-dy;
    err=sum(sum((up-u).^2));
end

img

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-11-05 17:27
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 修改了问题 11月5日
  • 修改了问题 11月5日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 angular项目错误
  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件