Что означает радиус цветного окна в pyrMeanShiftFiltering?

Я понимаю, что цветовой вектор RGB состоит из 3 компонентов, таких как [100, 100, 100]. Тем не менее, из документации, аргумент sr – The color window radius в функции Python cv2.pyrMeanShiftFiltering(src, sp, sr[, dst[, maxLevel[, termcrit]]]) принимает int.

Что именно означает радиус цвета? Я также хотел бы понять минимальные и максимальные значения, и в каких единицах измерения находятся.

1 ответ

Решение

Исходя из того, что я прочитал в описании алгоритма из документации, sr является параметром для части алгоритма, которая требует идентификации соседа.

Возможно, вы захотите освежить понимание алгоритма среднего сдвига, но в какой-то момент для данного пикселя (X,Y) вам нужно найти его соседей. Хотя часто мы считаем соседями пространственные соседи, то есть пиксели пространственно близки к тому, который мы рассматриваем (|| (X,Y) - (x, y) ||<некоторый радиус, где X,Y - рассматриваемая позиция пикселя). и x, y позиция потенциального соседа), здесь алгоритм также учитывает "цветную" близость, как видно в строке:

окрестность пикселя (X,Y) в объединенном пространственно-цветовом гиперпространстве считается:

(x, y): X-sp

Это означает, что для того, чтобы считаться соседом, пиксель должен быть пространственно близким, а также иметь цвет, близкий к рассматриваемому пикселю. Вы устанавливаете это условие близости с srтак же, как вы устанавливаете требуемую пространственную близость с sp, Попробуйте некоторые значения. Это зависит от того, какое определение алгоритм использует для || норма, вероятно, что-то вроде || (R, G, B) - (r, g, b) || = sqrt ((Rr)**2+(Gg)**2+(Bb)**2)

Другие вопросы по тегам