@Timebird

В чём суть метода Back Projection?

Не понимаю, что делает метод BackProjection.
Читаю документацию OpenCV: back projection - is a way of recording how well the pixels of a given image fit the distribution of pixels in a histogram model.
Понятно, что пиксели заданного изобажения сопоставляются с распределением в гистограмме. Но про какую гистограмму речь?
  • Вопрос задан
  • 348 просмотров
Решения вопроса 1
@AlexSku
не буду отвечать из-за модератора
Коротко прочитал (не разбирая досконально). Вот что мне кажется: выделить области с нужным цветом. (есть пример футболиста, выделяется прямоугольник с зелёной травой, в результате выделяется все области зелёного цвета).
Решается так: переходим из модели RGB в HSV. В первой модели интенсивность зависит от трёх параметров, поэтому двумерную картинку построить сложно. Часто RGB переводят в уровни серого. В HSV можно было взять одну координату "оттенок" (hue), но для двумерной картинки добавили насыщенность (saturation).
В Матлабе есть пример перехода RGB -> Lab, где цвет это две координаты (a, b).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@medleonid
Задача: найти области на изучаемом рисунке, которые по цвету похожи на эталонный рисунок.
Совсем упрощая: выберем один цвет и выделим на изучаемом рисунке те области, которые похожи на выбранный цвет. Histogram backprojection делает по сути именно это, но берёт не один цвет, а набор характерных цветов из эталонного рисунка.

Теперь про сам алгоритм, основываясь на документации.
1. Строим гистограмму цветов в эталонном рисунке (т.е. запоминаем то, как часто встречается каждый цвет).
2. Далее для каждой точки на изучаемом рисунке отвечаем на вопрос: насколько вероятно, что её цвет из эталонного рисунка (на основе гистограммы из п.1)
3. Полученный рисунок похожести сглаживаем и по определённому порогу выбираем самые похожие области.
Как итог получаем "маску", размер с изучаемое изображение, где 0 означает, что эта область не похожа на эталонную, а 1, что похожа.

Из описания алгоритма получается, что совершенно никак не используется структура эталонного рисунка. Можно перемешать все пиксели -- это никак не скажется на результате (т.к. гистограмма цветов будет точно такая же). Так же если в эталонном рисунке равномерно встречаются все цвета, то на любом изучаемом рисунке все точки подойдут под такой эталон. Есть смысл использовать histogram backprojection, когда у вас есть объект какого-то выделяющегося цвета, и вы хотите найти его на рисунке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы