Để vẽ hình tròn trên hình ảnh với matplotlib và numpy, ta thực hiện:
- Thiết lập kích thước hình và điều chỉnh khoảng đệm giữa và xung quanh subplots.
- Đọc hình ảnh từ tệp vào mảng.
- Tạo x, y dùng numpy.
- Tạo hình và tập subplots dùng subplots().
- Hiển thị dữ liệu như hình ảnh dùng imshow().
- Tắt trục tọa độ.
- Thêm patches trên trục hiện tại.
- Hiển thị hình dùng show().
Ví dụ
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Circle
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
img = plt.imread('bird.jpg')
x = np.random.rand(5) * img.shape[1]
y = np.random.rand(5) * img.shape[0]
fig, ax = plt.subplots(1)
ax.imshow(img)
ax.axis('off')
for xx, yy in zip(x, y):
circ = Circle((xx, yy), 50, color='red')
ax.add_patch(circ)
plt.show()
Kết quả
