• 大小: 79KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: 其他
  • 标签:

资源简介

Two-dimensional Phase Unwrapping: Theory, Algorithms, and Software一书的源代码

资源截图

代码片段和文件信息

/*
 *   brcut.c -- functions for branch cutting
 */
#include 
#include 
#include “brcut.h“

/* Place a branch cut in the bitflags array from pixel (ab) */
/* to pixel (cd).  The bit for the branch cut pixels is     */
/* given by the value of “code“.                             */
void PlaceCut(unsigned char *array int a int b int c int d
              int xsize int ysize int code)
{
  int  i j k ii jj m n istep jstep;
  double  r;

  /* residue location is upper-left corner of 4-square */
  if (c > a && a > 0) a++;
  else if (c < a && c > 0) c++;
  if (d > b && b > 0) b++;
  else if (d < b && d > 0) d++;

  if (a==c && b==d) {
    array[b*xsize + a] |= code;
    return;
  }
  m = (a < c) ? c - a : a - c;
  n = (b < d) ? d - b : b - d;
  if (m > n) {
    istep = (a < c) ? +1 : -1;
    r = ((double)(d - b))/((double)(c - a));
    for (i=a; i!=c+istep; i+=istep) {
      j = b + (i - a)*r + 0.5;
      array[j*xsize + i] |= code;
    }
  }
  else {   /* n < m */
    jstep = (b < d) ? +1 : -1;
    r = ((double)(c - a))/((double)(d - b));
    for (j=b; j!=d+jstep; j+=jstep) {
      i = a + (j - b)*r + 0.5;
      array[j*xsize + i] |= code;
    }
  }
  return;
}

/* Return the squared distance between the pixel (ab) and the */
/* nearest border pixel.  The border pixels are encoded in the */
/* bitflags array by the value of “border_code“.               */
int DistToBorder(unsigned char *bitflags int border_code
               int a int b int *ra int *rb int xsize int ysize)
{
  int  besta bestb found dist2 best_dist2;
  int  i j k bs;
  *ra = *rb = 0;
  for (bs=0; bs    found = 0;
    best_dist2 = 1000000;  /* initialize to large value */
    /* search boxes of increasing size until border pixel found */
    for (j=b - bs; j<=b + bs; j++) {
      for (i=a - bs; i<=a + bs; i++) {
        k = j*xsize + i;
        if (i<=0 || i>=xsize - 1 || j<=0 || j>=ysize - 1
              || (bitflags[k] & border_code)) {
          found = 1;
          dist2 = (j - b)*(j - b) + (i - a)*(i - a);
          if (dist2 < best_dist2) {
            best_dist2 = dist2;
            besta = i;
            bestb = j;
          }           
        }
      }
    }
    if (found) {
      *ra = besta;
      *rb = bestb;
      break;
    }
  }
  return best_dist2;


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

     文件       2427  1997-04-16 16:17  复件 复件 code\brcut.c

     文件        283  1997-02-04 13:35  复件 复件 code\brcut.h

     文件       2578  1997-02-10 17:19  复件 复件 code\congruen.c

     文件        155  1997-02-04 14:41  复件 复件 code\congruen.h

     文件       5811  1997-02-11 11:55  复件 复件 code\dct.c

     文件        517  1997-02-11 11:54  复件 复件 code\dct.h

     文件       1495  1997-02-10 17:25  复件 复件 code\dipole.c

     文件        132  1997-02-04 13:35  复件 复件 code\dipole.h

     文件       1190  1997-03-28 13:05  复件 复件 code\dxdygrad.c

     文件        188  1997-02-04 13:36  复件 复件 code\dxdygrad.h

     文件       3600  1997-02-10 17:28  复件 复件 code\extract.c

     文件        278  1997-02-05 17:46  复件 复件 code\extract.h

     文件        332  1996-12-16 20:13  复件 复件 code\file.h

     文件      10551  1997-11-14 14:04  复件 复件 code\flynn.c

     文件        324  1997-03-31 12:24  复件 复件 code\flynn.h

     文件        995  1997-11-14 14:06  复件 复件 code\fmg.c

     文件        220  1997-02-04 13:50  复件 复件 code\fmg.h

     文件       4672  1997-03-27 12:13  复件 复件 code\getqual.c

     文件        398  1997-02-05 18:03  复件 复件 code\getqual.h

     文件       4556  1997-11-14 14:04  复件 复件 code\gold.c

     文件        175  1997-02-04 13:37  复件 复件 code\gold.h

     文件        343  1997-02-10 17:35  复件 复件 code\grad.c

     文件         71  1997-02-04 13:37  复件 复件 code\grad.h

     文件       5208  1997-11-14 14:05  复件 复件 code\grid.c

     文件        560  1997-02-11 11:50  复件 复件 code\grid.h

     文件        972  1997-02-11 11:56  复件 复件 code\gridmem.c

     文件        248  1997-02-11 11:39  复件 复件 code\gridmem.h

     文件       9295  1997-11-14 14:06  复件 复件 code\gridops.c

     文件        481  1997-03-28 12:24  复件 复件 code\gridops.h

     文件       7187  1997-04-30 15:50  复件 复件 code\histo.c

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

评论

共有 条评论