奇数/偶数迭代意味着什么?

时间:2014-04-14 00:23:39

标签: opencv image-processing

http://opencv-code.com/quick-tips/implementation-of-guo-hall-thinning-algorithm/

正在研究郭霍尔算法,但我不明白它所说的部分

 * @param  iter  0=even, 1=odd

1 个答案:

答案 0 :(得分:2)

这意味着参数iter根据它是奇数迭代还是偶数迭代来控制当前进程。

void thinningGuoHallIteration(cv::Mat& im, int iter) {...}

给出3×3窗口,显示像素p(i,j)的8邻域,

enter image description here

对于奇数迭代甚至迭代,它会有不同的做法:

enter image description here

您可以进一步了解它的名称:

do {
    thinningGuoHallIteration(im, 0);
    thinningGuoHallIteration(im, 1);
    cv::absdiff(im, prev, diff);
    im.copyTo(prev);
} 
while (cv::countNonZero(diff) > 0);

你可以看到它只运行一次迭代,然后进行一次奇数迭代。

查看here了解详情。