如何在视频上覆盖

2024-05-16 02:49:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在Python中工作,使用OpenCV的videocapture和简历imshow播放视频。我试图在这个视频上加一个覆盖层,这样我就可以用它来画画了等高线, 等速矩形,等等。每次帧改变时,它都会清除绘制的图像,所以我希望如果我在上面加上某种覆盖,它将允许我在视频上绘制多个图像而不清除。有什么建议吗?谢谢你!在


Tags: 图像视频绘制opencv建议矩形imshow等高线
2条回答

我不确定我是否理解你的问题好吧。什么我从你的问题得到的是,你希望覆盖保持在你的帧上,从视频捕捉流,因为一个简单的解决方案是声明你的“Mat_cam”(相机流变量)在用于捕捉帧的循环之外,这样“Mat_cam”变量将不会每次你循环的时候都会被释放。在

你需要的是2个Mat对象-一个用于流式传输相机(比如Mat_cam),另一个用于保存覆盖(Mat_overlay)。在

在主窗口上绘制时,将直线和矩形对象保存在Mat_overlay上,并确保它不受流式视频的影响

当接收到下一帧时,Mat_cam将被更新,并且它将具有下一个视频帧,但是Mat_覆盖将是相同的,因为它不会在每次“for”循环迭代中被清除/刷新。使用加权加法添加Mat_overlay和Mat_cam将得到所需的结果。在

相关问题 更多 >