Я пытаюсь получить заполненную двоичную маску контура этого изображения. У меня есть набор точек вдоль овала. Как создать заполненную двоичную маску
Я взглянул на этот вопрос SciPy Create 2D Polygon Mask; однако, похоже, мне не нравится мой набор данных.
import numpy as np
from matplotlib.nxutils import points_inside_poly
nx, ny = 10, 10
poly_verts = [(1,1), (5,1), (5,9),(3,2),(1,1)]
# Create vertex coordinates for each grid cell...
# (<0,0> is at the top left of the grid in this system)
x, y = np.meshgrid(np.arange(nx), np.arange(ny))
x, y = x.flatten(), y.flatten()
points = np.vstack((x,y)).T
grid = points_inside_poly(points, poly_verts)
grid = grid.reshape((ny,nx))
print grid
Интересно, есть ли другой способ, что я могу попытаться вернуть двоичную маску или кто-то, чтобы объяснить ограничения points_inside_poly
, потому что, кажется, в конечном итоге что-то вроде этого
Что вы замышляете? – user545424
изображение выше. Овальная штука. Если вы хотите, я бы отредактировал, разместив все код и изображения, но я хотел бы сделать этот вопрос коротким, как я мог. – user1462442
Похоже, вы только что неправильно изменили свою сетку (например, 'data.reshape ((a , b)) 'vs' data.reshape ((b, a)) '. –