我对RGB颜色矢量的理解是它有3个组件,如[100,100,100]。但是,from the documentation,Python函数sr – The color window radius
中的参数cv2.pyrMeanShiftFiltering(src, sp, sr[, dst[, maxLevel[, termcrit]]])
接受int。
颜色半径究竟是什么意思?我还想了解最小值和最大值,以及单位是什么。
答案 0 :(得分:2)
根据我在文档中对算法的描述中所读到的内容,sr
是需要邻居识别的算法的一部分参数。
您可能想要了解对均值偏移算法的理解,但在某个点上对于给定像素(X,Y),您需要找到它的邻居。虽然经常,我们认为邻居是空间邻居,即像素在空间上与我们正在考虑的邻近(||(X,Y) - (x,y)||< some radius,使用X,Y考虑像素位置,x,y是潜在邻居位置),这里算法也考虑“颜色”接近度,如下所示:
关节空间 - 颜色超空间中的像素(X,Y)邻域是 考虑:
(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)