pyrMeanShiftFiltering 中的颜色 window 半径是什么意思?

What does the color window radius in pyrMeanShiftFiltering mean?

我对 RGB 颜色向量的理解是它有 3 个分量,如 [100, 100, 100]。但是,from the documentation,Python 函数 cv2.pyrMeanShiftFiltering(src, sp, sr[, dst[, maxLevel[, termcrit]]]) 中的参数 sr – The color window radius 接受一个 int。

颜色半径到底是什么意思?我还想了解最小值和最大值,以及单位是什么。

根据我在文档中对算法的描述中阅读的内容,sr 是需要邻居识别的算法部分的参数。

您可能想复习一下对均值漂移算法的理解,但在某些时候对于给定像素 (X,Y),您需要找到它的邻居。通常,我们将邻居视为 spatial 邻居,即像素在空间上接近我们正在考虑的像素(||(X,Y)-(x,y)||< 一些半径,X,Y 是所考虑的像素位置,x,y 是潜在的相邻位置),这里算法还考虑了 "color" 接近度,如行中所示:

the pixel (X,Y) neighborhood in the joint space-color hyperspace is considered:

(x,y): X- sp < x < X + sp , Y- sp < y < Y+ sp, ||(R,G,B)-(r,g,b)|| < sr

这意味着要被视为邻居,像素需要在空间上接近并且与所考虑的像素的颜色也接近。您可以使用 sr 设置此接近度条件,就像您使用 sp 设置所需的空间接近度一样。尝试一些值。这取决于算法对 || 使用什么定义规范,可能类似于 ||(R,G,B)-(r,g,b)|| = sqrt((R-r)**2+(G-g)**2+(B-b)**2)