📜  如何使用 Python-OpenCV 为每一帧视频绘制填充矩形?

📅  最后修改于: 2022-05-13 01:54:23.816000             🧑  作者: Mango

如何使用 Python-OpenCV 为每一帧视频绘制填充矩形?

在本文中,我们将讨论如何在Python中通过 OpenCV 在视频的每一帧上绘制一个填充的矩形。

逐步实施:

  • 将所需的库导入工作空间。
  • 阅读你必须写的视频。

句法:

  • 使用 cv2.VideoWriter_fourcc() 方法创建一个输出文件。在这里,您将有视频格式的选项。

句法:

  • 然后通过添加形状来编辑视频的帧(在我们的例子中,它是一个填充的矩形)。我们将使用 cv2.rectangle() 方法。此方法用于在任何图像上绘制矩形。

句法:

  • 然后将所有帧写入视频文件中。

句法:

例子:

在此示例中,我们为视频添加了一个绿色矩形。

输入视频:

Python3
import cv2
  
  
def main():
    
    # reading the input
    cap = cv2.VideoCapture("input.mp4")
  
    output = cv2.VideoWriter(
        "output.avi", cv2.VideoWriter_fourcc(*'MPEG'), 
      30, (1080, 1920))
  
    while(True):
        ret, frame = cap.read()
        if(ret):
              
            # adding filled rectangle on each frame
            cv2.rectangle(frame, (100, 150), (500, 600),
                          (0, 255, 0), -1)
              
            # writing the new frame in output
            output.write(frame)
            cv2.imshow("output", frame)
            if cv2.waitKey(1) & 0xFF == ord('s'):
                break
        else:
            break
  
    cv2.destroyAllWindows()
    output.release()
    cap.release()
  
  
if __name__ == "__main__":
    main()


输出: