• 大小: 917KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-25
  • 语言: 其他
  • 标签: 程序  变换  

资源简介

一些工程领域经常用到的小波变换的程序,希望对大家有所帮助。

资源截图

代码片段和文件信息

/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* 
 * Mow-Song Ng 2/9/2002
 * msng@mmu.edu.my
 * http://www.pesona.mmu.edu.my/~msng
 *
 * I do not claim copyright to the code but if you use them or modify them
 * please drop me a mail.
 *
 */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

#include “subbandsymbol.h“

/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
SubbandSymbol *SubbandSymbolAlloc(int hsize int vsize int nsteps)
{
SubbandSymbol *symbol;
int i;
int *lowHSize *lowVSize *highHSize *highVSize;

assert(nsteps > 0);

if ((symbol = (SubbandSymbol *)malloc(sizeof(SubbandSymbol)))==NULL){
SubbandSymbolError(“Fail to allocate symbol.\n“);
}

symbol->hsize = hsize;
symbol->vsize = vsize;
symbol->nsteps = nsteps;

/* ensure that all status starts with value 0 */
symbol->symbol = (int *)calloc(symbol->hsize*symbol->vsize sizeof(int));

symbol->nSubbands = 3*symbol->nsteps+1;
symbol->subbandSize = (int *)calloc(symbol->nSubbands sizeof(int));
symbol->subbandHSize = (int *)calloc(symbol->nSubbands sizeof(int));
symbol->subbandVSize = (int *)calloc(symbol->nSubbands sizeof(int));
symbol->subbandPtr = (int **)calloc(symbol->nSubbands sizeof(int *));

lowHSize = (int *)calloc(symbol->nsteps sizeof(int));
lowVSize = (int *)calloc(symbol->nsteps sizeof(int));
highHSize = (int *)calloc(symbol->nsteps sizeof(int));
highVSize = (int *)calloc(symbol->nsteps sizeof(int));

lowHSize[symbol->nsteps-1] = (symbol->hsize+1)/2;
lowVSize[symbol->nsteps-1] = (symbol->vsize+1)/2;
highHSize[symbol->nsteps-1] = symbol->hsize/2; 
highVSize[symbol->nsteps-1] = symbol->vsize/2;

/* set the sizes for each blocks */
for (i = symbol->nsteps-2; i >= 0; i--) {
lowHSize[i] = (lowHSize[i+1]+1)/2;
lowVSize[i] = (lowVSize[i+1]+1)/2;
highHSize[i] = lowHSize[i+1]/2;
highVSize[i] = lowVSize[i+1]/2; 
}

/* subband[0] */
symbol->subbandPtr[0] = symbol->symbol;
symbol->subbandHSize[0] = lowHSize[0];
symbol->subbandVSize[0] = lowVSize[0];
symbol->subbandSize[0] = symbol->subbandHSize[0]*symbol->subbandVSize[0];

/* all other high pass subbands do each scale at once */
for (i = 0; i < symbol->nsteps; i++) {
symbol->subbandHSize[3*i+1] = highHSize[i];
symbol->subbandVSize[3*i+1] = lowVSize[i];
symbol->subbandHSize[3*i+2] = lowHSize[i];
symbol->subbandVSize[3*i+2] = highVSize[i];
symbol->subbandHSize[3*i+3] = highHSize[i];
symbol->subbandVSize[3*i+3] = highVSize[i];
}

/* set the data pointers */
for (i = 1; i < symbol->nSubbands; i++) {
symbol->subbandSize[i] = symbol->subbandHSize[i]*sy

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      30481  2002-09-03 08:23  常用的小波变换程序\EZW2\ARICACM.C

     文件      10475  2002-09-03 08:23  常用的小波变换程序\EZW2\ARICACM.H

     文件       4733  2003-06-30 05:01  常用的小波变换程序\EZW2\BITIO.C

     文件       2076  2002-09-03 08:24  常用的小波变换程序\EZW2\BITIO.H

     文件      41183  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\aricacm.obj

     文件      10905  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\bitio.obj

     文件     319545  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\ezw.exe

     文件     357040  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\ezw.ilk

     文件      35197  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\ezw.obj

     文件     237888  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\ezw.pch

     文件     607232  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\ezw.pdb

     文件      24969  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\filter.obj

     文件      10488  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\global.obj

     文件      62904  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\image.obj

     文件       7390  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\map.obj

     文件       9503  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\mem.obj

     文件      10773  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\memchk.obj

     文件       7979  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\subbandsymbol.obj

     文件      50176  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\vc60.idb

     文件      61440  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\vc60.pdb

     文件      22236  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\wavelet.obj

     文件      24681  2004-05-13 14:13  常用的小波变换程序\EZW2\EZW\Debug\wtransform.obj

     文件       1023  2002-09-03 08:50  常用的小波变换程序\EZW2\EZW\EZW.DEP

     文件       5696  2002-09-01 11:12  常用的小波变换程序\EZW2\EZW\EZW.DSP

     文件       7005  2002-09-03 09:36  常用的小波变换程序\EZW2\EZW\EZW.MAK

     文件       1799  2002-09-03 09:36  常用的小波变换程序\EZW2\EZW\EZW.PLG

     文件        233  2003-06-11 04:32  常用的小波变换程序\EZW2\EZW\_tmp_project.h

     文件      25409  2003-07-01 05:33  常用的小波变换程序\EZW2\EZW.C

     文件       3862  2002-09-03 08:41  常用的小波变换程序\EZW2\EZW.H

     文件        724  2002-07-23 19:03  常用的小波变换程序\EZW2\EZW2.DSW

............此处省略57个文件信息

评论

共有 条评论