⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vbm3d.m

📁 BM3D去噪算法的实现和相关文档
💻 M
字号:
function [PSNR_FINAL_ESTIMATE, y_hat_wi] = VBM3D(Xnoisy, sigma, NumberOfFrames, dump_information, Xorig, bm3dProfile)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  VBM3D is a Matlab function for attenuation of additive white Gaussian %  noise from grayscale videos. This algorithm reproduces the results from the article:%%  [1] K. Dabov, A. Foi, and K. Egiazarian, "Video denoising by sparse 3D%  transform-domain collaborative filtering," European Signal Processing%  Conference (EUSIPCO-2007), September 2007. (accepted)%%  INTERFACE:%%  [PSNR, Xest] = VBM3D(Xnoisy, Sigma, NFrames, PrintInfo, Xorig)%%  INPUTS:%   1)  Xnoisy     --> A filename of a noisy .avi video, e.g. Xnoisy = 'gstennisg20.avi'%        OR%       Xnoisy     --> A 3D matrix of a noisy video in a  (floating point data in range [0,1],%                                                     or in [0,255])%   2)  Sigma --> Noise standard deviation (assumed range is [0,255], no matter what is%                                           the input's range)%%   3)  NFrames   (optional paremter!) --> Number of frames to process. If set to 0 or %                                          ommited, then process all frames (default: 0).%%   4)  PrintInfo (optional paremter!) --> If non-zero, then print to screen and save %                                          the denoised video in .AVI%                                          format. (default: 1)%%   5)  Xorig     (optional paremter!) --> Original video's filename or 3D matrix %                                          If provided, PSNR, ISNR will be computed.%%   NOTE: If Xorig == Xnoisy, then artificial noise is added internally and the%   obtained noisy video is denoised.%%  OUTPUTS:%  %   1) PSNR --> If Xorig is valid video, then this contains the PSNR of the%                denoised one%%   1) Xest --> Final video estimate in a 3D matrix (intensities in range [0,1])%%   *) If "PrintInfo" is non-zero, then save the denoised video in the current %       MATLAB folder.%%  USAGE EXAMPLES:%%     1) Denoise a noisy (clipped in [0,255] range) video sequence, e.g. %        'gsalesmang20.avi' corrupted with AWGN with std. dev. 20:%          %          Xest = VBM3D('gsalesmang20.avi', 20, 0, 1); %     %     2) The same, but also print PSNR, ISNR numbers.%        %          Xest = VBM3D('gsalesmang20.avi', 20, 0, 1, 'gsalesman.avi');%%     3) Add artificial noise to a video, then denoise it (without %        considering clipping in [0,255]):%        %          Xest = VBM3D('gsalesman.avi', 20, 0, 1, 'gsalesman.avi');%  %%  RESTRICTIONS:%%     Since the video sequences are read into memory as 3D matrices,%     there apply restrictions on the input video size, which are thus%     proportional to the maximum memory allocatable by Matlab.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Copyright 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -