Я занимаюсь обработкой изображений с помощью 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
? Есть ли лучший подход для создания моих профилей?