У меня есть изображение в оттенках серого размером (1920,1080), для которого я пытаюсь создать маску. Я использовал внешнее программное обеспечение, чтобы вручную получить точки интереса (многоугольник). Теперь в центре изображения имеется 27 координатных точек, представляющих многоугольник.
Я создал маску, используя следующее:
импортировать numpy как np импортировать matplotlib.pyplot как plt из Skimage.draw импорт полигона2маска #image= оттенки серого с формой (1920,1080) координаты = ([1080.15, 400.122], [1011.45, 400.90], .......) #27 очков многоугольник = np.array(координаты) маска = многоугольник2маска(изображение.форма, многоугольник) результат = ma.masked_array(изображение, np.invert(маска)) plt.imshow(результат) Проблема, с которой я столкнулся, заключается в том, что вывод происходит не в том месте; оно должно быть как-то центрировано, потому что я взял координаты из центра, но на самом деле оно было на краю изображения (внизу):

Кроме того, размер оказался немного меньше ожидаемого. Я не уверен, что вызывает эту проблему. Должно быть, я сделал что-то не так в своем коде. Пожалуйста, помогите мне определить проблему.