Třídy | Definice maker | Výčty | Funkce | Proměnné

Dokumentace souboru segDTWT.h

#include "cppTypes.h"
#include "memoryAllocation.h"
#include "imageLoad.h"
#include "tbb/tbb.h"
#include "rangeSegDTWTauto.h"
#include "bodySegDTWT2D.h"
#include "bodySegIDTWT2D.h"

Zobrazit zdrojový text tohoto souboru.

Třídy

struct  Rect
struct  Size

Definice maker

#define ALIGN_TO_BYTES   16
#define SUBBAND_COUNT   3
#define SUBSAMPLING   1
#define pow2(x)   ((1)<<(x))
#define r(k, m)   (pow2(k)-(1))*((m)-(1))
#define max(x, y)   x>y?x:y
#define min(x, y)   x<y?x:y
#define odd(x)   (x%2)!=0
#define even(x)   (x%2)==0

Výčty

enum  wrapType { ZEROS_PADDING = 0, CONST_PADDING = 1, SYMETRIC_HP = 2, SYMETRIC_WP = 3 }
enum  WRESULT { RESULT_OK = 0, RESULT_UNKNOWN_ERROR = -1 }

Funkce

WRESULT segDTWTfwd_32f_C1 (float *i_data, int i_widthStep, float *subbands[], int widthSteps[], int levels, Size size, separableWavelet *w)
WRESULT segDTWTinv_32f_C1 (float *subbands[], int widthSteps[], float *o_data, int o_widthStep, int levels, Size size, separableWavelet *w)

Proměnné

wrapType extensionType
Size segSize
char * waveletFile

Detailní popis

Značení jednotlivých subpásem:

 -------------------------------------- 
 |LL |HL3|      HL2|               HL1| 
 |--------         |                  |
 |LH3|HH3|         |                  |
 |------------------                  |
 |    LH2|      HH2|                  |
 |       |         |                  |
 |       |         |                  |
 |-------------------------------------
 |              LH1|               HH1|
 |                 |                  |
 |                 |                  |
 |                 |                  |
 |                 |                  |
 |                 |                  |
 --------------------------------------
  

Program pracuje s:


Dokumentace funkcí

WRESULT segDTWTfwd_32f_C1 ( float *  i_data,
int  i_widthStep,
float *  subbands[],
int  widthSteps[],
int  levels,
Size  size,
separableWavelet w 
)

Funkce segDTWTfwd_32f_C1 pro paralelní dopřednou vlnkovou transformaci. Pracuje s jednokanálovým obrazem (C1) datových typů float

Parametry:
[in] i_data ukazatel na vstupní obraz
[in] i_widthStep vzdálenost mezi řádky obrázku v paměti v bytech
[in,out] subbands[] pole ukazatelů na výstupní subpásma. Ukazatele na subpásma jsou za sebou uloženy v pořadí subbands[0]=HL1,[1]=HH1,[2]=LH1,[3]=HL2,[4]=HH2,[5]=LH2 .... [last]=LL. Paměť musí být předem alokována a rozměry subpásem jsou

\[ n_\mathrm{x}(s,m,j) = \mathrm{floor}( 2^{-j}s_\mathrm{x} + (1-2^{-j}(m-1)) \]

a

\[ n_\mathrm{y}(s,m,j) = \mathrm{floor}( 2^{-j}s_\mathrm{y} + (1-2^{-j}(m-1)), \]

přičemž

  • $ s,s_x,s_y $ jsou rozměry vstupního obrazu,
  • $ j $ stupeň dekompozice,
  • $ m $ délka použitých filtrů.
[in,out] widthSteps[] pole vzdáleností mezi řádky subpásem v paměti v bytech
[in] levels stupeň dekompozice
[in] size rozměry vstupního obrazu bez prodloužení
[in] w použité vlnkové filtry
Návratová hodnota:
Chybové hlášení WRESULT
Viz také:
segDTWTinv_32f_C1
WRESULT segDTWTinv_32f_C1 ( float *  subbands[],
int  widthSteps[],
float *  o_data,
int  o_widthStep,
int  levels,
Size  size,
separableWavelet w 
)

Funkce segDTWTinv_32f_C1 pro paralelní zpětnou vlnkovou transformaci.

Parametry:
[in,out] subbands[] - pole ukazatelů na subpásma.
[in,out] widthSteps[] -pole vzdáleností mezi řádky subpásem v paměti v bytech
[in] o_data -ukazatel na výstupní obraz
[in] o_widthStep -vzdálenost mezi řádky obrázku v paměti v bytech
[in] levels -stupeň dekompozice
[in] size -rozměry vstupního obrazu bez prodloužení
[in] w -použité vlnkové filtry
Návratová hodnota:
Chybové hlášení WRESULT
Viz také:
segDTWTfwd_32f_C1

Dokumentace proměnných

Velikost segmentů, které již nebudou dále děleny 0,0 znamená, že bude přiřazeno 2*r(J)