【深度学习】使用opencv在视频上添加文字和标记框
深度学习识别出视频的物体之后,需要在视频上画框标记出来。
接下来介绍如何使用python在视频上画框和文字
#!/usr/bin/env python # -*- coding:utf-8 -*- import cv2 video = "demo.mp4" result_video = "demo-result.mp4" #读取视频 cap = cv2.VideoCapture(video) #获取视频帧率 fps_video = cap.get(cv2.CAP_PROP_FPS) #设置写入视频的编码格式 fourcc = cv2.VideoWriter_fourcc(*"mp4v") #获取视频宽度 frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #获取视频高度 frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) videoWriter = cv2.VideoWriter(result_video, fourcc, fps_video, (frame_width, frame_height)) frame_id = 0 while (cap.isOpened()): ret, frame = cap.read() if ret == True: frame_id += 1 left_x_up = int(frame_width / frame_id) left_y_up = int(frame_height / frame_id) right_x_down = int(left_x_up + frame_width / 10) right_y_down = int(left_y_up + frame_height / 10) #文字坐标 word_x = left_x_up + 5 word_y = left_y_up + 25 cv2.rectangle(frame, (left_x_up, left_y_up), (right_x_down, right_y_down), (55,255,155), 5) cv2.putText(frame, 'frame_%s' %frame_id, (word_x, word_y), cv2.FONT_HERSHEY_SIMPLEX, 1, (55,255,155), 2) videoWriter.write(frame) else: videoWriter.release() break
主要用到cv2的两个函数,cv2.rectangle(图像, (矩形左上角坐标), (矩形右下角坐标), (矩形颜色), 线条粗细)
cv2.rectangle(frame, (left_x_up, left_y_up), (right_x_down, right_y_down), (55,255,155), 5)
cv2.putText(图像, 要写入的内容, (文字坐标), 字体, 字号, (字体颜色), 字体粗细)
cv2.putText(frame, 'frame_%s' %frame_id, (word_x, word_y), cv2.FONT_HERSHEY_SIMPLEX, 1, (55,255,155), 2)
原创作者:郑立赛
邮箱:zhenglisai@qq.com
欢迎关注我们的公众号获取最新文章:运维自动化开发


标签:
深度学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)