Changeset 35717 for trunk/psModules
- Timestamp:
- Jun 28, 2013, 11:14:26 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imcombine/pmSubtractionSimple.c
r35716 r35717 118 118 // 119 119 // Do convolutions 120 psImage *temp = psImageAlloc(numCols,numRows,PS_TYPE_F32); 120 121 for (int y = 0; y < image1->numRows; y++) { 121 122 for (int x = 0; x < image1->numCols; x++) { 123 124 temp->data.F32[y][x] = 0.0; 125 122 126 if (convolution_direction == 1) { 123 127 imageC1->data.F32[y][x] = 0.0; … … 139 143 } 140 144 for (int v = -size; v <= size; v++) { 145 if ((y-v >= 0)&&(y-v < numRows)) { 146 if (convolution_direction == 1) { 147 temp->data.F32[y][x] += kernelVec->data.F32[v + size] * image1->data.F32[y - v][x]; 148 } 149 else if (convolution_direction == 2) { 150 temp->data.F32[y][x] += kernelVec->data.F32[v + size] * image2->data.F32[y - v][x]; 151 } 152 } 153 } 154 } 155 } 156 for (int y = 0; y < image1->numRows; y++) { 157 for (int x = 0; x < image1->numCols; x++) { 141 158 for (int u = -size; u <= size; u++) { 142 if ((y-v >= 0)&&(x-u >= 0)&& 143 (y-v < numRows)&&(x-u < numCols)) { 159 if ((x-u >= 0)&&(x-u < numCols)) { 144 160 if (convolution_direction == 1) { 145 imageC1->data.F32[y][x] += kernelVec->data.F32[v + size] * kernelVec->data.F32[u + size] * 146 image1->data.F32[y - v][x - u]; 161 imageC1->data.F32[y][x] += kernelVec->data.F32[u + size] * temp->data.F32[y][x - u]; 147 162 } 148 163 else if (convolution_direction == 2) { 149 imageC2->data.F32[y][x] += kernelVec->data.F32[v + size] * kernelVec->data.F32[u + size] * 150 image2->data.F32[y - v][x - u]; 164 imageC2->data.F32[y][x] += kernelVec->data.F32[u + size] * temp->data.F32[y][x - u]; 151 165 } 152 166 } 153 167 } 154 }155 }156 }168 } 169 } 170 psFree(temp); 157 171 psFree(kernelVec); 158 172
Note:
See TracChangeset
for help on using the changeset viewer.
