Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Радиальная выборка с SciPy

Автор вопроса: ajwoodОтветов: 1

Я занимаюсь обработкой изображений с помощью scipy.ndimage. Учитывая кольцеобразный объект, я хотел бы создать "профиль" по его окружности. Профиль может быть чем-то вроде измерения толщины в различных точках кольца или средним сигналом вдоль "толщины" кольца.

Мне кажется, что я мог бы использовать ndimage.mean, если бы я мог сначала получить хорошее изображение этикетки.

Если мое кольцо выглядит так,

 A = array([[0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
            [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
            [0, 0, 1, 1, 0, 0, 1, 1, 0, 0],
            [0, 0, 1, 1, 0, 0, 1, 1, 0, 0],
            [0, 0, 1, 1, 0, 0, 1, 1, 0, 0],
            [0, 0, 1, 1, 0, 0, 1, 1, 1, 0],
            [0, 0, 1, 1, 0, 0, 1, 1, 0, 0],
            [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
            [0, 0, 0, 0, 1, 0, 0, 0, 0, 0]])

Я мог бы получить "профиль средств" с numpy.mean( A, labels ), где labels.

array([[0,  0,  0,  0,  2,  0,  0,  0,  0,  0],
       [0,  0,  1,  1,  2,  3,  4,  4,  0,  0],
       [0,  0,  1,  1,  2,  3,  4,  5,  0,  0],
       [0,  0, 16, 16,  0,  0,  5,  5,  0,  0],
       [0,  0, 15, 15,  0,  0,  6,  6,  0,  0],
       [0,  0, 14, 14,  0,  0,  7,  7,  0,  0],
       [0,  0, 13, 13,  0,  0,  8,  8,  8,  0],
       [0,  0, 13, 12,  0,  0,  9,  9,  0,  0],
       [0,  0, 12, 12, 11, 10,  9,  9,  0,  0],
       [0,  0,  0,  0, 11,  0,  0,  0,  0,  0]])

Бьюсь об заклад, есть некоторые вещи интерполяции, которые останутся незамеченными, но это все, что я могу придумать самостоятельно.

Есть ли способ сгенерировать мое предложенное изображение labels? Есть ли лучший подход для создания моих профилей?

  • Я начал с этого ответа. ajwood 25.09.2012

pythonnumpyscipyimage-processing

Ответы

Ответ 1 · рейтинг 1 · user1149913

Стандартное распределение вероятностей на круге (или сфере) - это распределение фон-Мизеса-Фишера.

Scipy поддерживает этот дистрибутив: http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.vonmises.html

Таким образом, вы должны иметь возможность использовать функцию подгонки, чтобы найти параметры максимального правдоподобия для ваших данных.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы