/*=================================================================
% perform_lifting_transform - compute a wavelet biorthogonal 79 transform
%
% y = perform_lifting_transform( x, step_type, step_param, Jmin, dir );
%
% Copyright (c) 2004 Gabriel Peyr�
*=================================================================*/
#include "mex.h"
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
#include "perform_79_transform.h"
/* Global variables */
int n, p; // size
int dir = 1;
int Jmin = 0;
double* y = NULL;
double* x = NULL;
void mexFunction( int nlhs, mxArray *plhs[],
int nrhs, const mxArray*prhs[] )
{
/* retrieve arguments */
if( nrhs<3 || nrhs>5 )
mexErrMsgTxt("3-5 input arguments are required.");
if( nlhs!=1 )
mexErrMsgTxt("1 output arguments are required.");
// first argument
n = mxGetM(prhs[0]);
p = mxGetN(prhs[0]);
if( n==1 )
{
n = p;
p = 1;
}
if( p>1 )
mexErrMsgTxt("lifting transform not yet implemented for 2D matrix.");
x = mxGetPr(prhs[0]);
// input 2 : step_type
int nbr_step = mxGetM(prhs[1]);
if( nbr_step==1 )
nbr_step = mxGetN(prhs[1]);
double* step_type = (double*) mxGetPr(prhs[1]);
// input 3 : step_param
int tmp = mxGetM(prhs[2]);
if( tmp==1 )
tmp = mxGetN(prhs[2]);
if( tmp!=nbr_step )
mexErrMsgTxt("step_type and step_param must be of same size.");
double* step_param = (double*) mxGetPr(prhs[2]);
// input 4 : Jmin
if( nrhs>=4 )
Jmin = (int) *mxGetPr(prhs[3]);
else
Jmin = 0;
// input 5 : dir
if( nrhs>=4 )
dir = (int) *mxGetPr(prhs[4]);
else
dir = 1;
if( dir!=1 && dir!=-1 )
mexErrMsgTxt("dir should be either +1 or -1.");
// first ouput : y
plhs[0] = mxCreateDoubleMatrix(n, p, mxREAL);
y = mxGetPr(plhs[0]);
memcpy( y, x, n*p*sizeof(double) );
int* step_typei = new int[nbr_step];
for( int i=0; i<nbr_step; ++i )
step_typei[i] = (int) step_type[i];
// perform the transform
if( p==1 )
perform_lifting_transform_1d( y, n, nbr_step, step_typei, step_param, Jmin, dir );
else
perform_lifting_transform_2d( y, n, p, nbr_step, step_typei, step_param, Jmin, dir );
delete [] step_typei;
}
没有合适的资源?快使用搜索试试~ 我知道了~
matlab_小波提升算法的实现
共56个文件
m:33个
dll:5个
h:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 107 浏览量
2022-06-30
22:23:11
上传
评论
收藏 59KB ZIP 举报
温馨提示
matlab_小波提升算法的实现
资源推荐
资源详情
资源评论
收起资源包目录
小波提升算法的实现.zip (56个子文件)
小波提升算法的实现
mex
config.h 5KB
perform_79_transform.def 55B
perform_lifting_transform.vcproj 4KB
perform_lifting_transform.def 60B
perform_lifting_transform.h 4KB
toolbox_wavelets.sln 2KB
perform_haar_transform.def 57B
perform_lifting_transform.cpp 2KB
perform_79_transform.h 1KB
perform_haar_transform.vcproj 4KB
perform_79_transform.cpp 2KB
perform_haar_transform.h 4KB
perform_haar_transform.cpp 2KB
perform_79_transform.vcproj 4KB
perform_pyramid_transform.m 4KB
mirror_filter.m 86B
compile_mex.m 200B
perform_lifting_transform_slow.m 16KB
convert_wavelets2list.m 3KB
test_atrou.m 246B
perform_wavelet_transform_isotropic.m 4KB
compute_spline_filter.m 467B
toolbox_wavelets.m 1KB
perform_lifting_transform.m 2KB
perform_haar_transform_slow.m 2KB
test_classical.m 352B
CVS
Entries.Extra 899B
Root 43B
Entries 2KB
Repository 33B
test_wavelet.m 761B
perform_atrou_transform.m 6KB
mirdwt.dll 9KB
perform_79_transform.dll 6KB
perform_79_transform.m 474B
plot_wavelet.m 2KB
reorder_coefs.m 849B
compute_quadrant_selection.m 857B
get_lifting_param.m 2KB
evaluate_nbr_bits_wavelets.m 784B
perform_pyramid_transform_nonframe.m 4KB
perform_wavelet_transform.m 6KB
test_laplacian_do.m 2KB
perform_haar_transform.dll 5KB
perform_lifting_transform_byname.m 2KB
perform_steerable_transform.m 2KB
test_mex.m 413B
perform_haar_transform.m 243B
perform_atrou_transform_slow.m 3KB
perform_wavelet_transform_hyperbolic.m 994B
perform_79_transform_slow.m 1KB
perform_wavelet_transform_classical.m 2KB
perform_lifting_transform.dll 6KB
test_pyramidal.m 2KB
perform_pyramid_transform_do.m 8KB
mrdwt.dll 8KB
共 56 条
- 1
资源评论
- 你抢庄我就托管了2023-08-11资源是宝藏资源,实用也是真的实用,感谢大佬分享~
wouderw
- 粉丝: 273
- 资源: 2960
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功