bandlet-denoising

所属分类:其他
开发工具:matlab
文件大小:2913KB
下载次数:0
上传日期:2020-05-11 16:25:40
上 传 者@狒狒
说明:  基于平稳小波变换的bandelet。解决了小波变换过程中出现的振荡现象。
(Bandelet based on stationary wavelet transform. Solve the oscillation phenomenon in the process of wavelet transform.)

文件列表:
bandlet-denoising\.DS_Store (6148, 2007-01-17)
bandlet-denoising\callback_atrou.m (195, 2007-01-17)
bandlet-denoising\callback_laplacian.m (219, 2007-01-17)
bandlet-denoising\callback_steerable.m (248, 2007-01-17)
bandlet-denoising\compile_mex.m (77, 2007-01-17)
bandlet-denoising\compute_best_threshold.m (1209, 2007-01-17)
bandlet-denoising\compute_geometric_lut.m (942, 2007-01-15)
bandlet-denoising\compute_geometry.m (4339, 2007-01-17)
bandlet-denoising\cwpt2_btree.m (630, 2019-03-25)
bandlet-denoising\denoisesar.mat (490977, 2007-09-05)
bandlet-denoising\lena.bmp (309898, 2019-03-17)
bandlet-denoising\mirdwt.c (3196, 2002-11-12)
bandlet-denoising\mirdwt.dll (49152, 2003-10-13)
bandlet-denoising\mirdwt.m (5210, 2002-11-12)
bandlet-denoising\mrdwt.c (2901, 2002-11-12)
bandlet-denoising\mrdwt.dll (49152, 2003-10-13)
bandlet-denoising\mrdwt.m (5066, 2003-10-14)
bandlet-denoising\myperform_denoising.m (47, 2007-09-05)
bandlet-denoising\perform_bandlet_transform.m (3343, 2007-01-17)
bandlet-denoising\perform_haar_transform.m (2382, 2007-01-16)
bandlet-denoising\perform_square_extraction.m (2413, 2007-01-17)
bandlet-denoising\plot_geometry.m (1851, 2007-01-17)
bandlet-denoising\results\denoising\barb\barb-bandlets.png (37859, 2007-09-07)
bandlet-denoising\results\denoising\barb\barb-noisy.png (47123, 2007-09-07)
bandlet-denoising\results\denoising\barb\barb-original.png (47123, 2007-09-07)
bandlet-denoising\results\denoising\barb\barb-wavelets.png (25872, 2007-09-07)
bandlet-denoising\results\denoising\barb\Thumbs.db (6144, 2007-09-05)
bandlet-denoising\results\denoising\barb-denoising.png (294552, 2007-09-07)
bandlet-denoising\results\denoising\lena\lena-bandlets.png (54836, 2007-09-05)
bandlet-denoising\results\denoising\lena\lena-noisy.png (56271, 2007-09-05)
bandlet-denoising\results\denoising\lena\lena-original.png (55139, 2007-09-05)
bandlet-denoising\results\denoising\lena\lena-wavelets.png (52619, 2007-09-05)
bandlet-denoising\results\denoising\lena\Thumbs.db (7168, 2007-09-05)
bandlet-denoising\results\denoising\lena-denoising.png (567265, 2007-09-05)
bandlet-denoising\results\denoising\Thumbs.db (6656, 2007-09-05)
bandlet-denoising\test_denoising.m (3815, 2019-03-25)
bandlet-denoising\test_edge.m (1584, 2019-03-25)
bandlet-denoising\test_geometry.m (940, 2019-03-26)
bandlet-denoising\test_haar_transform.m (937, 2007-01-16)
... ...

Bandlet toolbox for denoising and watermarking Copyright (c) 2007 Gabriel Peyre OVERVIEW: This is a simple implementation of the bandlet transform algorithm especially tailored toward denoising and watermarking application. This implementation does not implement any adaptive segmentation (such that the quadtree explained in the paper) but rather use a fixed segmentation. However, this toolbox allows to perform translation invariant computations. INSTALLATION: Unzip the toolbox and start matlab from this directory. Compile the mex file by running > compile_mex; If it does not work, you might consider setting up the compiler using > mex -setup At the beginning of your file, you should add path(path, 'toolbox/'); COMMENTS: The two main functions are: * compute_geometry: set up the transform by computing the edge direction over each patch. * perform_bandlet_transform: actually do the transform and its inverse. A typical bandlet processing session over an image M thus looks like % set up the options options.w = 8; ... % set up transform G = compute_geometry( M, options ); % forward transform MB = perform_bandlet_transform( M, G, options ); % perform some processing over the coefficients, here a simple thresholding MBT = perform_thresholding(MB, T); % reconstruct MB1 = perform_bandlet_transform( MBT, G, options ); There are two mode in which you can use the transform: * Directly over the image. This is typical for watermarking applications. * Over each layer of a multiscale transform. This is typical for denoising applications. You need to set up the callback to the multiscale transform, for instance options.callback = @callback_atrou; The important options for the detection of geometry (and the transform also) are: * options.w: set up the size of the square. Between 6 and 8 is fine. * options.q: set q=w for no overlap (good for watermarking) and q=w/2 for x4 redundancy. * options.ti: translation invariant (ti=1) or orthogonal (ti=0) transform. ti=1 is fine for denoising and also for detecting the geometry. ti=0 is fine when you do not want redundancy (e.g. before embedding the watermark). * options.Jhaar: number of scale for the bandletization. 2 or 3 is fine for denoising. For watermarking, you might consider higher values < log2(w*w). STRUCTURE OF THE TRANSFORM: The input M is a (n,n) matrix. Here we suppose that n=m*w and that q=w for simplicity. The number of squares is thus m*m. The bandlet transform MB is an array of size (w^2,m*m) if ti=1 and size (Jhaar*w^2,m*m) is ti=0. The vector v=MB(:,i) contains the bandlet coefficients for the ith square. Its structure is the one of a traditional 1D wavelet transform. For ti=0, we thus have * v(end/2+1:end) are the very fine scale coefficients * v(end/4+1:end/2) are the coefficient at the next coarser scale * v(end/8+1:end/4) ... ... * v(1:end/2^Jhaar) are the low pass coarse coefficients. For ti=1, we have * v(end-n+1:end) is the very fine scale coefficients * v(end-2*n+1:end-n) are the coefficients at the next coarser scale ... * v(1:n) is the coarse scale (low pass) coefficients.

近期下载者

相关文件


收藏者