Python 同一图上的图像和Voronoi图

Python 同一图上的图像和Voronoi图,python,image-processing,voronoi,scipy-spatial,Python,Image Processing,Voronoi,Scipy Spatial,我需要使用scipy.spatial.Voronoi在现有图像的顶部绘制Voronoi细分。我已使用matplotlib.pyplot将图像导入为numpy数组: 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) 然后我想在上面添加一个Vo

我需要使用
scipy.spatial.Voronoi
在现有图像的顶部绘制Voronoi细分。我已使用
matplotlib.pyplot
将图像导入为
numpy
数组:

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)

然后我想在上面添加一个Voronoi图(对于我任意选择的一些点),所以我:

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
)把它们画在彼此的上面,但最终在Voronoi区域着色。如果你能帮我弄清楚如何把图像放在背景上,把Voronoi放在上面,我将不胜感激

它确实有效,我想voronoi点需要正确选择:

import matplotlib.pylab as plt
import numpy as np
from scipy.spatial import Voronoi, voronoi_plot_2d
import scipy.ndimage as ndimage

img_file = 'bear.png'
img = plt.imread(img_file)

points = [] 
for i in range(100):
    points.append([np.random.uniform(0, img.shape[0]),np.random.uniform(0, img.shape[1])])
points = np.array(points)

vor = Voronoi(points)

fig = plt.figure(figsize=(20,20))
ax = fig.add_subplot(111)
ax.imshow(ndimage.rotate(img, 90))
voronoi_plot_2d(vor, point_size=10, ax=ax)
plt.show()