【问题标题】:cv2.rectangle() does not do anythingcv2.rectangle() 不做任何事情
【发布时间】:2020-12-07 16:56:24
【问题描述】:

我有一个如下所示的 python 脚本:

import cv2

if __name__ == "__main__":
    predict_filename = "prediction.jpg"
    predict_cv2 = cv2.imread(prediction_filename)
    
    cv2.rectangle(predict_cv2, (50,50), (100,100), (225,0,225), 6)
    print("changing ", predict_filename , " done")

我稍后会尝试绘制框以显示对象检测结果,但直到现在我通常都在努力将框绘制到图片上。 prediction.jpg 与脚本存在于同一文件中,但在运行代码时将保持不变。我的错在哪里?

【问题讨论】:

    标签: python opencv object-detection


    【解决方案1】:

    你正在predict_cv2的numpy数组上绘制矩形,如果你想保存这个图像你需要使用命令cv2.imwrite("file name", array to save)

    import cv2
    
    if __name__ == "__main__":
        predict_filename = "prediction.jpg"
        predict_cv2 = cv2.imread(prediction_filename)
        
        cv2.rectangle(predict_cv2, (50,50), (100,100), (225,0,225), 6)
        cv2.imwrite("ImageWithRectangle.jpg", predict_cv2)
        print("changing ", predict_filename , " done")
    

    这应该将带有矩形的图像保存在项目文件夹中。

    【讨论】:

      【解决方案2】:

      您需要做的就是在绘制矩形命令之前使用 cv2.imwrite 语句来获得所需的结果。

      cv2.imwrite("File_name.jpg", predict_cv2)
      

      【讨论】:

        猜你喜欢
        • 2020-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-15
        相关资源
        最近更新 更多