首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python实战篇(三)---放慢视频VS图像添加文字

python实战篇(三)---放慢视频VS图像添加文字

作者头像
用户5410712
发布2022-06-01 15:54:57
发布2022-06-01 15:54:57
8880
举报
文章被收录于专栏:居士说AI居士说AI

前面我们对图像和视频的读取进行了实操,今天我们继续来学习它们的处理-------放慢视频VS图像添加文字,学会今天的项目,你将会进入新的境界。

一、放慢视频

相信在我们平时的生活工作中,大家可能遇到过这样的问题,有一段不错的视频,但是时间很短,而且播放速度较快,快的你都看不清视频中的某个细节,你一定想过,要是视频能够放慢一点就好了,这样我们就能看到视频的细节部分了,带着这样的问题,我们进入今天的实战,原理:读取视频,从视频中取出一帧帧图像保存,关键在于保存的时候将每一张图像进行延时,如此循环到视频的结束,这样原来的视频每一个图像都变慢了一定时间,总得视频也就变得慢了,下面请看关键函数讲解:

代码片段1:

# 下面的代码在于得到视频的原始信息,这样我们就可以用同样得到方式对处理后的视频进行保存,而不去生成未知的视频格式。

代码语言:javascript
复制
#获取帧率
src_fps = cap.get(cv2.CAP_PROP_FPS)
# 原始的帧率
# 获取总帧数
totalFrameNumber = int(
cap.get(cv2.CAP_PROP_FRAME_COUNT))
print("原始的帧率:", src_fps)
print("原始的总帧数", totalFrameNumber)
interval = 1
# 捕获图像的间隔,单位:秒
num_frames = totalFrameNumber
# 捕获图像的总帧数
out_fps = src_fps
# 输出文件的帧率

代码片段2:

# 视频保存参数设置

代码语言:javascript
复制
# 设置要保存视频的编码,分辨率和帧率
video = cv2.VideoWriter(
    "out.mp4",
    cv2.VideoWriter_fourcc('M','P','4','V'),
    #cv2.VideoWriter_fourcc('F','L','V','1'),
    out_fps,
    size
)

代码片段3: # 视频图像循环读取及保存

代码语言:javascript
复制
for i in range(num_frames):
    _, frame = cap.read()
    video.write(frame)
    # 将视频一帧帧保存下来
      # 如果希望把每一帧也存成文件
          比如:制作GIF,则取消下面的注释
      # filename = '{:0>6d}.png'.format(i)
    # cv2.imwrite(filename, frame)
    # 打印是否捕获当前帧
     print('Frame {} is captured.'.format(i+1))
    time.sleep(interval)

运行结果:

如此得出的视频,便是放慢了。。

二、图像添加文字。

平时,我们在发送图片时,第一个想到的就是截图,涂鸦,添加文字信息,这样的操作其实很简单,我们来看一看python+OpenCV是如何做到的。

代码实践:

代码语言:javascript
复制
# -*- coding:gbk -*-
import cv2

ori_img = cv2.imread("tower.jpg")
img = ori_img.copy()
font = cv2.FONT_HERSHEY_SIMPLEX
# 想要用的字体声明
# 在img图像上,左上角坐标为
   (100,200)的位置
 开始写文字:Eiffel Tower(埃菲尔铁塔)
cv2.putText(img, 'Eiffel Tower ',
             (100, 200), font,4,
             (255, 255, 255), 2,
             lineType=cv2.LINE_AA)
cv2.imshow('添加文字后的图像', img)
# 显示图像
cv2.imshow('原始图像', ori_img)
# 显示图像
cv2.waitKey(0)

运行结果:

原图

效果图

如此,我们的代码成功的实现了在图片上添加文字,请欣赏美景。。。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档