Skip to content

Commit ed8962d

Browse files
committed
0.2024.05.03: threshold: correct round mean and deviation
1 parent 3efa322 commit ed8962d

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

src/imageproc/Binarize.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ GrayImage binarizeMapMean(
127127
double const r_area = 1.0 / area;
128128
double mean = window_sum * r_area;
129129

130+
mean += 0.5;
130131
mean = (mean < 0.0) ? 0.0 : ((mean < 255.0) ? mean : 255.0);
131132
gray_line[x] = (uint8_t) mean;
132133
}
@@ -165,7 +166,6 @@ GrayImage binarizeMapDeviation(
165166
uint8_t* gray_line = gray.data();
166167
int const gray_stride = gray.stride();
167168

168-
169169
IntegralImage<uint32_t> integral_image(w, h);
170170
IntegralImage<uint64_t> integral_sqimage(w, h);
171171

@@ -190,9 +190,6 @@ GrayImage binarizeMapDeviation(
190190
int const window_left_half = window_size.width() >> 1;
191191
int const window_right_half = window_size.width() - window_left_half;
192192

193-
std::vector<float> means(w * h, 0);
194-
std::vector<float> deviations(w * h, 0);
195-
196193
double max_deviation = 0;
197194

198195
for (int y = 0; y < h; ++y)
@@ -218,6 +215,7 @@ GrayImage binarizeMapDeviation(
218215
double const variance = sqmean - mean * mean;
219216
double deviation = sqrt(fabs(variance));
220217

218+
deviation += 0.5;
221219
deviation = (deviation < 0.0) ? 0.0 : ((deviation < 255.0) ? deviation : 255.0);
222220
gray_line[x] = (uint8_t) deviation;
223221
}

0 commit comments

Comments
 (0)