fhamming.c

来自「image processing including fourier,wavel」· C语言 代码 · 共 42 行

C
42
字号
/*--------------------------- Commande MegaWave -----------------------------*//* mwcommand   name = {fhamming};   version = {"1.0"};   author = {"Lionel Moisan"};   function = {"Apply Hamming window to a Fimage"};   usage = {           in->in           "input Fimage",           out<-out         "windowed Fimage"   };*/#include <stdio.h>#include <math.h>#include "mw.h"/* NB: Calling this module with out=in is possible */void fhamming(in,out)Fimage in,out;{  int     n,p,i,j;  double  alpha,x,y,w;  n = in->nrow;  p = in->ncol;  if (n<=1 || p<=1) mwerror(FATAL,2,"Image is too small.");  out = mw_change_fimage(out,n,p);  if (!out) mwerror(FATAL,1,"Not enough memory.");    alpha = 0.54;   /* use 0.54 for Hamming window, 0.5 for Hanning window */    for (i=0;i<n;i++) for (j=0;j<p;j++) {    x = M_PI*( 2.0*(double)j/(double)p-1.0 );    y = M_PI*( 2.0*(double)i/(double)n-1.0 );    w = (alpha+(1.0-alpha)*cos(x)) * (alpha+(1.0-alpha)*cos(y));    out->gray[i*p+j] = (float)w * in->gray[i*p+j];  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?