-
大小: 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个文件信息
- 上一篇:ERP选型报告
- 下一篇:采用先来先服务算法和最短作业时间优先算法作业调度
评论
共有 条评论