订阅
纠错
加入自媒体

使用Python+OpenCV实现在视频中某对象后添加图像

2020-07-14 11:19
磐创AI
关注

现在,让我们绘制并查看logo和视频的第一帧:

plt.imshow(logo)plt.show()

使用Python+OpenCV实现在视频中某对象后添加图像

plt.imshow(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB))plt.show()

使用Python+OpenCV实现在视频中某对象后添加图像

图像掩码技术

框架尺寸比logo大得多,因此我们可以把logo放在许多地方。

然而,把logo放在画面的中心对我来说似乎是最合适的,因为大部分的动作都会发生在视频中的那个区域,因此我们将把logo放入框架中,如下所示:

使用Python+OpenCV实现在视频中某对象后添加图像

不用担心标志中的黑色背景,我们将在稍后的代码中将黑色区域中的像素值设置为1。现在我们要解决的问题是处理移动物体出现在我们放置标志的同一区域中。

如前所述,我们需要使logo允许自己被移动对象遮挡。

现在,我们将使其中放置logo的区域具有广泛的像素值。理想情况下,此区域中的所有像素值都应相同,那我们怎么做呢?

使用Python+OpenCV实现在视频中某对象后添加图像

我们必须使绿色虚线框包围的墙像素具有相同的值。我们可以借助HSV(色调、饱和度、值)颜色空间来完成此操作:

使用Python+OpenCV实现在视频中某对象后添加图像

我们的图像是在RGB色彩空间中的,我们将把它转换成HSV图像。下图是HSV版本:

使用Python+OpenCV实现在视频中某对象后添加图像

下一步是查找绿色虚线框内零件的HSV值范围,结果显示框中的大多数像素的范围从[6,10,68]到[30,36,122],它们分别是HSV的上下范围。

现在使用这个HSV值范围,我们可以创建一个二进制掩码,此掩码只是像素值为0或255的图像,因此在HSV值的上下范围内的像素将等于255,其余像素将为0。

<上一页  1  2  3  4  下一页>  余下全文
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    人工智能 猎头职位 更多
    扫码关注公众号
    OFweek人工智能网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号