Мне нужно нанести тесселяцию Вороного поверх существующего изображения, используя scipy.spatial.Voronoi
. Я импортировал изображение в виде массива numpy
, используя matplotlib.pyplot
:
img_file = 'my_image.png'
img = plt.imread(os.path.join(data_dir, img_file))
fig = plt.figure()
ax = fig.add_subplot(111)
Когда я отображаю изображение, оно работает нормально:
ax.imshow(img)
мое начальное изображение
Затем я хочу добавить на него граф Вороного (для некоторых точек, которые я выбираю произвольно), поэтому я делаю:
points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]])
vor = Voronoi(points)
voronoi_plot_2d(vor, ax=ax)
plt.show()
и я получаю это:
Неудачная попытка наложения графика на изображение
И когда я строю график, вот что я получаю:
Вороной тесселяции отдельно
Итак, я хотел нарисовать их друг над другом, используя одну и ту же ось (ax
), но вместо этого это привело к окрашиванию в районах Вороного. Буду очень признателен за любую помощь в выяснении, как разместить изображение на заднем плане, а Вороной - сверху!