使用Python+OpenCV实现在视频中某对象后添加图像
现在,让我们绘制并查看logo和视频的第一帧:
plt.imshow(logo)plt.show()
plt.imshow(cv2.cvtColor(frame,cv2.COLOR_BGR2RGB))plt.show()
图像掩码技术
框架尺寸比logo大得多,因此我们可以把logo放在许多地方。
然而,把logo放在画面的中心对我来说似乎是最合适的,因为大部分的动作都会发生在视频中的那个区域,因此我们将把logo放入框架中,如下所示:
不用担心标志中的黑色背景,我们将在稍后的代码中将黑色区域中的像素值设置为1。现在我们要解决的问题是处理移动物体出现在我们放置标志的同一区域中。
如前所述,我们需要使logo允许自己被移动对象遮挡。
现在,我们将使其中放置logo的区域具有广泛的像素值。理想情况下,此区域中的所有像素值都应相同,那我们怎么做呢?
我们必须使绿色虚线框包围的墙像素具有相同的值。我们可以借助HSV(色调、饱和度、值)颜色空间来完成此操作:
我们的图像是在RGB色彩空间中的,我们将把它转换成HSV图像。下图是HSV版本:
下一步是查找绿色虚线框内零件的HSV值范围,结果显示框中的大多数像素的范围从[6,10,68]到[30,36,122],它们分别是HSV的上下范围。
现在使用这个HSV值范围,我们可以创建一个二进制掩码,此掩码只是像素值为0或255的图像,因此在HSV值的上下范围内的像素将等于255,其余像素将为0。
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【在线会议】多物理场仿真助跑新能源汽车
推荐专题
-
10 中国AI的“六便士”时刻
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论