영상의 히스토그램(
로 표현된다.

threshold 값을 어떻게 선택하면 이진화된 영상의 히스토그램이 원 영상의 히스토그램의 특성을 최대한 담게 할 수 있을까? 이에 대한 기준으로 두 히스토그램의
원 영상의 moment
따라서 threshold 값
을 만족하는
Ref: W. Tsai, "Moment-preserving thresholding: a new approach," Computer Vision, Graphics, and Image Processing, vol. 29, pp. 377-393, 1985.
int MomentsPreseving_threshold(int histogram[256]) {
int tot = 0;
for (int i = 0; i < 256; i++)
tot += histogram[i];
//normalised histogram
double hist[256];
for (int i = 0; i < 256; i++)
hist[i] = double(histogram[i]) / tot;
/* moments calculation: zero moment is 1 by defintion*/
double m0 = 1, m1 = 0, m2 = 0, m3 = 0;
for (int i = 0; i < 256; i++ ) {
double h = hist[i];
m1 += i * h;
m2 += i * i * h;
m3 += i * i * i * h;
}
double det = m0 * m2 - m1 * m1;
double c0 = (m1 * m3 - m2 * m2) / det;
double c1 = (m2 * m1 - m3 * m0) / det;
double zb = 0.5 * (-c1 - sqrt (c1 * c1 - 4.0 * c0));
double zf = 0.5 * (-c1 + sqrt (c1 * c1 - 4.0 * c0));
double pb = (zf - m1) / (zf - zb);
double s = 0;
for (int i = 0; i < 256; i++) {
s += hist[i];
if (s > pb)
return i; // threshold
}
return 0;
}
'Image Recognition > Fundamental' 카테고리의 다른 글
Canny Edge: Non-maximal suppression (0) | 2023.01.11 |
---|---|
Statistical Region Merging (0) | 2022.06.11 |
Minimum Cross Entropy Thresholding (0) | 2022.05.29 |
Quadtree Segmentation (0) | 2022.05.21 |
Harris Corner Detector (0) | 2022.04.07 |