在 streamlit 网络应用程序中使用 cv2.rectangle() 时,矩形不显示在图像中

Rectangles don't show in the image when using cv2.rectangle() in streamlit web app

我正在尝试使用 streamlit 展示我的深度学习工作,其中涉及在图像中检测到的对象上绘制矩形。但是上面看不到矩形。那到底有什么问题呢?

这是代码片段:

fig, ax = plt.subplots(1, 1, figsize=(32, 16))
    for box in boxes:
        x1, y1, x2, y2 = box
        cv2.rectangle(img=sample,
                      pt1=(y1, x1),
                      pt2=(y2, x2),
                      color=(0, 0, 255), thickness=3)
    ax.set_axis_off()
    im = ax.imshow(sample)
    st.pyplot()
    st.write("# Results")
    st.dataframe(pd.DataFrame(results))

cv2.rectangle returns 上面有矩形的图像(它没有在适当的位置做)。所以应该是:

fig, ax = plt.subplots(1, 1, figsize=(32, 16))
for box in boxes:
    x1, y1, x2, y2 = box
    sample = cv2.rectangle(img=sample,
                  pt1=(y1, x1),
                  pt2=(y2, x2),
                  color=(0, 0, 255), thickness=3)
ax.set_axis_off()
im = ax.imshow(sample)
st.pyplot()
st.write("# Results")
st.dataframe(pd.DataFrame(results))