轮廓波contourlet变换的VC代码


轮廓波(contourlet)变换的VC代码,可以很好地移植。
资源截图
代码片段和文件信息
/*
   contourlet - Implementation of the contourlet transform for image coding
   Copyright (C) 2005 Vivien Chappelier - IRISA/University of Rennes 1

   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public
   License as published by the Free Software Foundation; either
   version 2 of the License or (at your option) any later version.

   This program is distributed in the hope that it will be useful
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU General Public
   License along with this program; if not write to the Free
   Software Foundation Inc. 675 Mass Ave Cambridge MA 02139 USA.
*/

#include “it/mat.h“
#include “it/io.h“
#include “it/distance.h“
#include 
#include 
#include “dfb.h“
#include “contourlet.h“
#include “pyramid.h“

//#define MPEG
//#define VILLA_13_11
#define ANTON_9_7

contourlet_t *contourlet_new(int ct_levels ivec dfb_levels)
{
  contourlet_t *ct;
  int l;

  ct = (contourlet_t *) malloc(sizeof(contourlet_t));
  ct->ct_levels = ct_levels;
  ct->dfb_levels = ivec_clone(dfb_levels);
  ct->high = (double ****)calloc(ct_levels sizeof(mat *));
  ct->low = NULL;
  /* pyramid filters */
  ct->H0 = 0;
  ct->G0 = 0;
#ifdef MPEG
  ct->H0 = vec_new_string(“2  0 -4 -3  5 19   26   19    5 -3 -4  0  2“);
  vec_div_by(ct->H0 64/sqrt(2));
  ct->G0 = vec_new_string(“0  1  0 -5  0 20   32   20    0 -5  0  1  0“);
  vec_div_by(ct->G0 64/sqrt(2));
#endif
#ifdef ANTON_9_7
  ct->H0 = vec_new_string(“ 3.782845550699535e-02 -2.384946501937986e-02 -1.106244044184226e-01 3.774028556126536e-01 8.526986790094022e-01 3.774028556126537e-01 -1.106244044184226e-01 -2.384946501937986e-02 3.782845550699535e-02“);
  ct->G0 = vec_new_string(“-6.453888262893856e-02 -4.068941760955867e-02 4.180922732222124e-01 7.884856164056651e-01 4.180922732222124e-01 -4.068941760955867e-02 -6.453888262893856e-02“);
#endif
#ifdef VILLA_13_11
  ct->H0 = vec_new_string(“-8.472827741318157e-03 3.759210316686883e-03 4.728175282882753e-02 -3.347508104780150e-02 -6.887811419061032e-02 3.832692613243884e-01 7.672451593927493e-01 3.832692613243889e-01 -6.887811419061045e-02 -3.347508104780156e-02 4.728175282882753e-02 3.759210316686883e-03 -8.472827741318157e-03“);
  ct->G0 = vec_new_string(“ 1.418215589126359e-02 6.292315666859828e-03 -1.087373652243805e-01 -6.916271012030040e-02 4.481085999263908e-01 8.328475700934288e-01 4.481085999263908e-01 -6.916271012030040e-02 -1.087373652243805e-01 6.292315666859828e-03 1.418215589126359e-02“);
#endif
  assert(ct->H0);
  assert(ct->G0);

  /* allocate directionnal subbands */
  for(l = 0; l < ct_levels; l++) {
    /* allocate directionnal subbands for that level */
    ct->high[l] = (mat *) calloc(1 << ct->

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

     文件     262159  2012-02-24 20:07  Contourlet_demo_src1.pgm

     文件       6662  2012-02-24 19:43  Contourlet_demo_srccontourlet.cpp

     文件       1771  2012-02-24 19:09  Contourlet_demo_srccontourlet.h

     文件       6406  2012-02-24 20:13  Contourlet_demo_srcContourTst.dsp

     文件        543  2010-03-10 23:19  Contourlet_demo_srcContourTst.dsw

     文件     238592  2012-02-24 20:21  Contourlet_demo_srcContourTst.ncb

     文件      56832  2012-02-24 20:21  Contourlet_demo_srcContourTst.opt

     文件        254  2012-02-24 20:07  Contourlet_demo_srcContourTst.plg

     文件    1638417  2012-02-24 20:04  Contourlet_demo_srcDebug1.pgm

     文件      12538  2012-02-24 19:59  Contourlet_demo_srcDebugarithmetic_codec.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugarithmetic_codec.sbr

     文件       7526  2012-02-24 19:59  Contourlet_demo_srcDebugitbuffer.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugitbuffer.sbr

     文件      21362  2012-02-24 19:59  Contourlet_demo_srcDebugcontourlet.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugcontourlet.sbr

     文件    2434048  2012-02-24 19:59  Contourlet_demo_srcDebugContourTst.bsc

     文件     626818  2012-02-24 19:59  Contourlet_demo_srcDebugContourTst.exe

     文件     493540  2012-02-24 19:59  Contourlet_demo_srcDebugContourTst.ilk

     文件     836608  2012-02-24 19:59  Contourlet_demo_srcDebugContourTst.pdb

     文件      51034  2012-02-24 19:59  Contourlet_demo_srcDebugdfb.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugdfb.sbr

     文件      19732  2012-02-24 19:59  Contourlet_demo_srcDebugezbc.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugezbc.sbr

     文件      22691  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_codec.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_codec.sbr

     文件      25497  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_decoder.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_decoder.sbr

     文件      30709  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_encoder.obj

     文件          0  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_encoder.sbr

     文件      37923  2012-02-24 19:59  Contourlet_demo_srcDebugezbc_tables.obj

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)