如何使用 Python-OpenCV 为每一帧视频绘制填充矩形?
在本文中,我们将讨论如何在Python中通过 OpenCV 在视频的每一帧上绘制一个填充的矩形。
逐步实施:
- 将所需的库导入工作空间。
- 阅读你必须写的视频。
句法:
cap = cv2.VideoCapture(“path”)
- 使用 cv2.VideoWriter_fourcc() 方法创建一个输出文件。在这里,您将有视频格式的选项。
句法:
output = cv2.VideoWriter(“output.avi”, cv2.VideoWriter_fourcc(*’MPEG’), 30, (1080, 1920))
- 然后通过添加形状来编辑视频的帧(在我们的例子中,它是一个填充的矩形)。我们将使用 cv2.rectangle() 方法。此方法用于在任何图像上绘制矩形。
句法:
cv2.rectangle(frame, (100, 100), (500, 500), (0, 255, 0), -1)
- 然后将所有帧写入视频文件中。
句法:
output.write(frame)
例子:
在此示例中,我们为视频添加了一个绿色矩形。
输入视频:
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()
输出: