Matplotlib:如何在图像上绘制一个矩形。
Matplotlib:如何在图像上绘制一个矩形。
如何在图像上绘制矩形,例如:
import matplotlib.pyplot as plt from PIL import Image import numpy as np im = np.array(Image.open('dog.png'), dtype=np.uint8) plt.imshow(im)
我不知道该怎么做。
admin 更改状态以发布 2023年5月21日
不需要子图,pyplot可以显示PIL图像,因此可以进一步简化:
import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from PIL import Image im = Image.open('stinkbug.png') # Display the image plt.imshow(im) # Get the current reference ax = plt.gca() # Create a Rectangle patch rect = Rectangle((50,100),40,30,linewidth=1,edgecolor='r',facecolor='none') # Add the patch to the Axes ax.add_patch(rect)
或者,简短的版本:
import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from PIL import Image # Display the image plt.imshow(Image.open('stinkbug.png')) # Add the patch to the Axes plt.gca().add_patch(Rectangle((50,100),40,30,linewidth=1,edgecolor='r',facecolor='none'))
你可以向 matplotlib Axes 添加一个 Rectangle patch。例如(使用教程中的图像,链接在这里):\n\n
import matplotlib.pyplot as plt import matplotlib.patches as patches from PIL import Image im = Image.open('stinkbug.png') # Create figure and axes fig, ax = plt.subplots() # Display the image ax.imshow(im) # Create a Rectangle patch rect = patches.Rectangle((50, 100), 40, 30, linewidth=1, edgecolor='r', facecolor='none') # Add the patch to the Axes ax.add_patch(rect) plt.show()
\n\n