尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
123.Python——OpenCV实现视频窗口画中画的效果
这里把实现方法的具体说明拿出来给大家看看。1、先把主画面那边的摄像头视频给打开。然后再把显示这个视频的主窗口拿出来呈现给你看。2、与此同时, 把那个子画面里面的视频文件给打开了, 当然呢, 你也可以去打开任意一个视频流。3、先对子画面的大小进行缩放处理, 然后利用图像ROI操作这个办法, 把已经缩放好的子画面放到主画面里指定好的那个位置来显示。因为需要根据鼠标点击窗体的具体位置来实现子画面的移动,所以得在主窗体上面绑定鼠标事件。这里需要注意一点, 需要先定义好主窗体的名称, 并且在循环体的外面, 就把这个鼠标事件绑定到指定的那个主窗体上去。把那个能够实现出来的全部代码都交出来。import cv2import time#窗体响应鼠标事件鼠标左键按下返回坐标ix,iy250,250 #初始位置def on_mouse(event, x, y, flags, param):global ix,iyif event cv2.EVENT_LBUTTONDOWN:ix,iyx,y#print(x:,ix,y:,iy)return ix,iycap cv2.VideoCapture(0)#获取摄像头的分辨率#fps cap.get(cv2.CAP_PROP_FPS)subcapcv2.VideoCapture(img/subcam.mp4) #视频文件#定义窗体cv2.namedWindow(MainCam)#把鼠标事件绑定到窗体上cv2.setMouseCallback(MainCam,on_mouse)while cap.isOpened():ret, frame cap.read()subret,subframesubcap.read()subframecv2.resize(subframe,(subframe.shape[1]//6,subframe.shape[0]//6))subh,subwsubframe.shape[:2]#画中画将subframe画在frame上(x,y)是左上角的坐标#print(ix,iy)if ixframe.shape[1]-subw or iyframe.shape[0]-subh:ix,iy250,250frame[iy:iysubframe.shape[0],ix:ixsubframe.shape[1]]subframestrtimetime.strftime(%Y-%m-%d %H:%M:%S,time.localtime())cv2.putText(frame, strtime, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)cv2.imshow(MainCam, frame)if cv2.waitKey(1) 0xFF ord(q):breakif cv2.getWindowProperty(MainCam,cv2.WND_PROP_AUTOSIZE) 1:breakcap.release()cv2.destroyAllWindows()
RELATED

相关推荐

金融科技FDE:连接产品与客户的桥梁,小白程序员必备的进阶之路

金融科技FDE:连接产品与客户的桥梁,小白程序员必备的进阶之路

本文深入探讨了金融科技领域FDE(前线部署工程师)的核心价值与必备技能。FDE是弥合产品能力与客户真实需求、监管要求的桥梁,需具备软件工程、咨询及金融领域知识。文章解析了金融科技FDE的独特性,如合规约束、遗留系统集成、监管截…

📅 2026/11/2 23:35:28
Java FRQ 001 - If condition

Java FRQ 001 - If condition

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/11/2 23:30:27
PLFM雷达原理与10.5GHz相控阵开源实现

PLFM雷达原理与10.5GHz相控阵开源实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/11/2 23:25:27
MORE NEWS

更多资讯

📰

JJencode编码解密工具:前端JS代码混淆与源码还原实操

做前端的人大概都遇到过这种场面:交付给客户的是一个纯前端跑的小工具,或者一个 H5 小游戏,代码打包压缩完往服务器一放,懂行的人按 F12 就能把逻辑看个七七八八,改个变量名、换个皮肤就成他自己的了。这时候就会有人翻…

📰

OpenClaw与LINE集成提升养虾业沟通效率

1. OpenClaw与LINE集成的核心价值OpenClaw作为一款多平台即时通讯聚合工具,其与LINE的深度整合为养虾行业带来了前所未有的沟通效率提升。传统养虾场管理中,技术人员、养殖工人、销售团队之间的信息传递往往存在滞后性,而通过OpenClaw接入LIN…

📰

Java record 规范构造器能否被反序列化或反射绕过

问题现象 record 类型通常靠规范构造器来把守不变式,比如禁止名字为空: public record User(String name) {public User {if (name == null || name

📰

Unity Package Manager刷新错误排查与解决方案

1. Unity Package Manager刷新资源报错问题解析最近在Unity开发过程中,Package Manager提示"Error Refreshing Asset"的问题困扰了不少开发者。作为Unity项目依赖管理的核心组件,Package Manager一旦出现问题,轻则影响资源加载&…

📰

淘宝商品详情API开发实战与性能优化指南

1. 淘宝商品详情API核心功能解析淘宝开放平台的taobao.item.get接口是电商开发者最常调用的核心接口之一,它提供了获取单个商品完整信息的能力。这个接口的独特之处在于它能返回商品的基础信息、SKU数据、促销信息等全维度数据,且响应速度控制在200ms以内…

📰

MIUI 11老机型:TWRP永久固定与无密data分区实战

1. 先把原理捋清楚:MIUI 11 的恢复分区与 data 加密 手上还留着一台 MIUI 11 时代的老机器,扔了可惜,当备用机又嫌系统臃肿——这种场景下,刷入 TWRP 并做成无密 data 分区,几乎是所有后续折腾的前提。TWRP 是第三方恢…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬