Go to the source code of this file.
Functions | |
| float | find_surrounding_mean (float **empty, int Ni, int Nj, int pi, int pj, int di, int dj, int oi, int oj) |
| float | find_surrounding_variance (float **empty, int Ni, int Nj, int pi, int pj, int di, int dj, int oi, int oj, float mean) |
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 9 of file init_vals.c.
00012 {
00013 int i,j;
00014 int limi=pi+di,limj=pj+dj;
00015 float mean=0;
00016 int norm=0;
00017
00018 for(j=pj-oj;j<limj+oj;j++) {
00019
00020 if((j<0)||(j>=Nj))
00021 continue;
00022
00023 for(i=pi-oi;i<pi;i++) {
00024
00025 if((i<0)||(i>=Ni))
00026 continue;
00027
00028 mean+=empty[i][j];
00029 norm++;
00030 }
00031 for(i=limi;i<limi+oi;i++) {
00032
00033 if((i<0)||(i>=Ni))
00034 continue;
00035
00036 mean+=empty[i][j];
00037 norm++;
00038 }
00039 }
00040
00041 for(i=pi;i<limi;i++) {
00042
00043 if((i<0)||(i>=Ni))
00044 continue;
00045
00046 for(j=pj-oj;j<pj;j++) {
00047
00048 if((j<0)||(j>=Nj))
00049 continue;
00050
00051 mean+=empty[i][j];
00052 norm++;
00053 }
00054 for(j=limj;j<limj+oj;j++) {
00055
00056 if((j<0)||(j>=Nj))
00057 continue;
00058
00059 mean+=empty[i][j];
00060 norm++;
00061 }
00062 }
00063
00064 if(norm)
00065 mean/=(float)norm;
00066 else
00067 mean=128;
00068
00069 return(mean);
00070 }
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
Definition at line 75 of file init_vals.c.
00078 {
00079 int i,j;
00080 int limi=pi+di,limj=pj+dj;
00081 float var=0;
00082 int norm=0;
00083
00084 for(j=pj-oj;j<limj+oj;j++) {
00085
00086 if((j<0)||(j>=Nj))
00087 continue;
00088
00089 for(i=pi-oi;i<pi;i++) {
00090
00091 if((i<0)||(i>=Ni))
00092 continue;
00093
00094 var+=empty[i][j]*empty[i][j];
00095 norm++;
00096 }
00097 for(i=limi;i<limi+oi;i++) {
00098
00099 if((i<0)||(i>=Ni))
00100 continue;
00101
00102 var+=empty[i][j]*empty[i][j];
00103 norm++;
00104 }
00105 }
00106
00107 for(i=pi;i<limi;i++) {
00108
00109 if((i<0)||(i>=Ni))
00110 continue;
00111
00112 for(j=pj-oj;j<pj;j++) {
00113
00114 if((j<0)||(j>=Nj))
00115 continue;
00116
00117 var+=empty[i][j]*empty[i][j];
00118 norm++;
00119 }
00120 for(j=limj;j<limj+oj;j++) {
00121
00122 if((j<0)||(j>=Nj))
00123 continue;
00124
00125 var+=empty[i][j]*empty[i][j];
00126 norm++;
00127 }
00128 }
00129
00130 if(norm)
00131 var/=(float)norm;
00132 else
00133 var=255*255;
00134
00135 return(var-mean*mean);
00136 }
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002