<p>下面是一个使用补丁来构建多个掩码的版本。在</p>
<pre><code>from time import sleep
import matplotlib.pyplot as plt
import matplotlib.patches as patches
img = plt.imread("background.png")
img_height = 500
img_width = 800
fig, ax = plt.subplots()
ax.imshow(img)
boxwidth = img_width//3
boxheight = img_height//3
zone = {}
for x in range(3):
for y in range(3):
p = ax.add_patch(patches.Rectangle(
(x*boxwidth, y*boxheight), boxwidth, boxheight,
facecolor='green', alpha=0.5))
zone[x*3 + y] = p
colors = {0.0: None, 1.1: 'green', 2.2: 'blue', 3.3: 'red'}
plt.axis([0, img_width, 0, img_height])
plt.show(block=False)
def paint_background(pos, val):
c = colors[val]
if c is None:
zone[pos].set_alpha(0)
else:
zone[pos].set_alpha(0.5)
zone[pos].set_facecolor(c)
plt.draw()
example_sequence = [
(1, 1.1), (2, 3.3), (1, 0.0), (2, 2.2),
(5, 1.1), (2, 2.2), (8, 0.0), (2, 2.2)]
for (pos, val) in example_sequence:
paint_background(pos, val)
sleep(1)
</code></pre>
<p>这样可以得到如下输出:</p>
<p><a href="https://i.stack.imgur.com/Ic4bg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Ic4bg.png" alt="enter image description here"/></a></p>