sfs shape from shading 由阴影到形状 tsai 的三篇论文以及代码,试验用图片。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12626 2000-01-31 20:26 Source_CodesBPentlandpent.c
文件 44 2000-01-31 21:21 Source_CodesBPentlandReadme
文件 4749 2000-01-31 20:33 Source_CodesHornhorn.c
文件 42 2000-01-31 21:21 Source_CodesHornReadme
文件 1780 2008-10-22 17:09 Source_CodesImageTools.h
文件 17346 2000-01-31 20:46 Source_CodesLKuocalc_C.c
文件 1283 2000-01-31 20:46 Source_CodesLKuocreate_image.c
文件 289 1994-06-09 03:12 Source_CodesLKuoDEF.h
文件 1436 1994-06-09 03:12 Source_CodesLKuoGSI.c
文件 1439 1994-06-09 03:12 Source_CodesLKuoGSI2.c
文件 1166 1994-06-09 03:12 Source_CodesLKuointerp.c
文件 2328 2000-01-31 20:46 Source_CodesLKuoinverse.c
文件 477 1994-06-09 03:12 Source_CodesLKuoload_depth.c
文件 667 2000-01-31 20:41 Source_CodesLKuomakefile
文件 64839 2000-01-31 20:51 Source_CodesLKuomultigrid
文件 3104 1994-06-09 03:12 Source_CodesLKuomultigrid.bak
文件 5538 2000-01-31 20:39 Source_CodesLKuomultigrid.c
文件 349 1994-11-21 17:11 Source_CodesLKuo
rutil.h
文件 619520 1995-06-14 20:59 Source_CodesLKuoout00-00.dep
文件 65548 1995-06-14 20:58 Source_CodesLKuoout00-00.img
文件 619520 1995-06-14 20:59 Source_CodesLKuoout00.dep
文件 65548 1995-06-14 20:59 Source_CodesLKuoout00.img
文件 852 2000-01-31 20:43 Source_CodesLKuo
eadimg.c
文件 22 2000-01-31 21:19 Source_CodesLKuoReadme
文件 784 1994-06-09 03:12 Source_CodesLKuo
esidual.c
文件 646 1994-06-09 03:12 Source_CodesLKuo
strct.c
文件 10212 2000-01-31 21:00 Source_CodesLRoslros.c
文件 42 2000-01-31 21:21 Source_CodesLRosReadme
文件 11467 2000-01-31 21:18 Source_CodesPentlandpentland.c
文件 50 2000-01-31 21:22 Source_CodesPentlandReadme
............此处省略62个文件信息
#include
//#include
//#include
#include
#include
#include “ImageTools.h“
#include “UCFReadPic.c“
#define SSize 256
struct rusage rusage;
long btsbtmetsetm;
main()
{
char filename[80];
FILE *outfile*infile;
int ijIiterSize;
float SxSySzPsQspqpqPQsfZdfZEijWn=0.0001*0.0001YK;
float Zn[SSize][SSize]Zn1[SSize][SSize]Si1[SSize][SSize]Si[SSize][SSize];
PIC pic1;
/* for synthetic images usually 1 or 2 iterations are enough */
printf(“Input number of iterations : “);
scanf(“%d“&iter);
printf(“Input size of image : “);
scanf(“%d“&Size);
if(Size > 256)
{
printf(“Image size too large!
“);
exit(1);
}
/* assume the initial estimate zero at time n-1 */
for(i=0;i for(j=0;j Zn1[i][j] = 0.0;
Si1[i][j] = 1.0; }
printf(“Input the image filename : “);
scanf(“%s“filename);
if((infile = fopen(filename“r“)) == NULL)
{
fprintf(stderr“Error Opening file : %s
“filename);
exit(1);
}
pic1 = UCFReadPic(infile);
printf(“
Input the light source direction :
“);
printf(“
Sx = “);
scanf(“%f“&Sx);
printf(“
“);
printf(“Sy = “);
scanf(“%f“&Sy);
printf(“
“);
printf(“Sz = “);
scanf(“%f“&Sz);
printf(“
“);
if(Sx == 0 && Sy == 0) Sx = Sy = 0.01;
Ps = Sx/Sz;
Qs = Sy/Sz;
/************************************************************************/
getrusage(0&rusage);
bts = rusage.ru_utime.tv_sec;
btm = rusage.ru_utime.tv_usec;
for(I=1;I<=iter;I++){
for(i=0;i for(j=0;j if(j-1 < 0 || i-1 < 0) /* take care boundary */
p = q = 0.0;
else {
p = Zn1[i][j] - Zn1[i][(j-1)];
q = Zn1[i][j] - Zn1[i-1][j]; }
pq = 1.0 + p*p + q*q;
PQs = 1.0 + Ps*Ps + Qs*Qs;
Eij = pic1.image[i*pic1.maxX+j]/255.0;
fZ = -1.0*(Eij - MAX(0.0(1+p*Ps+q*Qs)/(sqrt(pq)*sqrt(PQs))));
dfZ = -1.0*((Ps+Qs)/(sqrt(pq)*sqrt(PQs))-(p+q)*(1.0+p*Ps+q*Qs)/
(sqrt(pq*pq*pq)*sqrt(PQs))) ;
Y = fZ + dfZ*Zn1[i][j];
K = Si1[i][j]*dfZ/(Wn+dfZ*Si1[i][j]*dfZ);
Si[i][j] = (1.0 - K*dfZ)*Si1[i][j];
Zn[i][j] = Zn1[i][j] + K*(Y-dfZ*Zn1[i][j]);}
for(i=0;i for(j=0;j Zn1[i][j] = Zn[i][j];
Si1[i][j] = Si[i][j];}
}
getrusage(0&rusage);
ets = rusage.ru_utime.tv_sec;
etm = rusage.ru_utime.tv_usec;
printf(“ %ld sec. %ld usec.
“ets-btsetm-btm);
printf(“
Output depth map !
“);
sprintf(filename“final.out“);
outfile = fopen(filename“w“);
for(i=0;i for(j=0;j fprintf(outfile“%f
“Zn[i][j]);
fclose(outfile);
} /* end of main */
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12626 2000-01-31 20:26 Source_CodesBPentlandpent.c
文件 44 2000-01-31 21:21 Source_CodesBPentlandReadme
文件 4749 2000-01-31 20:33 Source_CodesHornhorn.c
文件 42 2000-01-31 21:21 Source_CodesHornReadme
文件 1780 2008-10-22 17:09 Source_CodesImageTools.h
文件 17346 2000-01-31 20:46 Source_CodesLKuocalc_C.c
文件 1283 2000-01-31 20:46 Source_CodesLKuocreate_image.c
文件 289 1994-06-09 03:12 Source_CodesLKuoDEF.h
文件 1436 1994-06-09 03:12 Source_CodesLKuoGSI.c
文件 1439 1994-06-09 03:12 Source_CodesLKuoGSI2.c
文件 1166 1994-06-09 03:12 Source_CodesLKuointerp.c
文件 2328 2000-01-31 20:46 Source_CodesLKuoinverse.c
文件 477 1994-06-09 03:12 Source_CodesLKuoload_depth.c
文件 667 2000-01-31 20:41 Source_CodesLKuomakefile
文件 64839 2000-01-31 20:51 Source_CodesLKuomultigrid
文件 3104 1994-06-09 03:12 Source_CodesLKuomultigrid.bak
文件 5538 2000-01-31 20:39 Source_CodesLKuomultigrid.c
文件 349 1994-11-21 17:11 Source_CodesLKuo
rutil.h
文件 619520 1995-06-14 20:59 Source_CodesLKuoout00-00.dep
文件 65548 1995-06-14 20:58 Source_CodesLKuoout00-00.img
文件 619520 1995-06-14 20:59 Source_CodesLKuoout00.dep
文件 65548 1995-06-14 20:59 Source_CodesLKuoout00.img
文件 852 2000-01-31 20:43 Source_CodesLKuo
eadimg.c
文件 22 2000-01-31 21:19 Source_CodesLKuoReadme
文件 784 1994-06-09 03:12 Source_CodesLKuo
esidual.c
文件 646 1994-06-09 03:12 Source_CodesLKuo
strct.c
文件 10212 2000-01-31 21:00 Source_CodesLRoslros.c
文件 42 2000-01-31 21:21 Source_CodesLRosReadme
文件 11467 2000-01-31 21:18 Source_CodesPentlandpentland.c
文件 50 2000-01-31 21:22 Source_CodesPentlandReadme
............此处省略62个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)