成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 Python 在視頻上渲染文本

開發(fā) 前端
?在本文中,我們將學習如何使用 python 在視頻中渲染響應式文本,我們將使用 opencv 這個包,這是一個非常全面的計算機視覺處理庫,會給我們的視頻圖像處理帶來極大的便利。

在本文中,我們將學習如何使用 python 在視頻中渲染響應式文本,我們將使用 opencv 這個包,這是一個非常全面的計算機視覺處理庫,會給我們的視頻圖像處理帶來極大的便利。現(xiàn)在,讓我們通過 pip 來進行安裝。

pip install opencv-python

在我們需要使用 opencv 的時候,就可以像下面這樣來引用。

import cv2

現(xiàn)在讓我們進入下一步,選擇一個視頻并導入到程序中。

第一步 —— 導入視頻

這將是一個簡單的步驟。我們將做兩件事: 導入一個視頻和找到視頻的幀速率。我們將使用幀速率來計算視頻中的秒數(shù),這樣我們就可以計算不同文本的渲染時間。

我們使用 VideoCapture 方法導入視頻。

tree_video = cv2.VideoCapture('tree.mov')

現(xiàn)在我們來計算導入視頻的幀速率。

fps = tree_video.get(cv2.CAP_PROP_FPS)
print(fps)
#result
23.97

23.97!這意味著視頻基本上每秒運行24幀,所以24次循環(huán)相當于1秒的視頻。

第二步 —— 讀取文本文檔

在這一步中,我們將從文本文檔中讀取文本。我們將使用 open 函數(shù),它是 Python 附帶的一個內(nèi)置函數(shù)。下面是我將要導入的文本文檔的屏幕截圖。

確保每個句子都在新的一行上。在讀取文本文檔時,我們將把每一行轉(zhuǎn)換為一個列表項。

poem = open('under_the_giant_tree.txt')
poem_lines = list(poem)
print(poem_lines)

圖片

第三步 —— 響應式文字功能

在這一步中,我們將編寫一個用于更新文本的函數(shù)。我決定根據(jù)不同的時間戳更新文本,但是可以隨意更改為不同的情況。

frame_ = 0
def text_update(frame_):
 if frames_ < (5*fps):
  text = str(poem_lines[2])
 elif frames_ < (10*fps):
  text = str(poem_lines[4])
 elif frames_ < (15*fps):
  text = str(poem_lines[6])
 elif frames_ < (20*fps):
  text = str(poem_lines[8])
 else:
  text = "no text found"
 return text

使用 if-else 來確定正在播放的視頻的時間戳。

定義一個名為“frame_”的新變量來傳入視頻幀。這樣可以以秒為單位計算持續(xù)時間。我們已經(jīng)知道從第一步開始的每秒幀數(shù),即24幀每秒。在這個函數(shù)中,文本將每五秒更新一次。我將詩的行分配給 text 變量。

現(xiàn)在,讓我們進入最后一步。

最后一步 —— 渲染視頻

太好了!我們快完成了。在最后一步,我們將把迄今為止所做的一切結(jié)合起來。我們將使用 while 循環(huán)來觸發(fā)程序。我們可以使用“ escape”或“ q”鍵結(jié)束循環(huán)。

while(True):
ret, frame = tree_video.read()
font = cv2.FONT_HERSHEY_SIMPLEX
on_video_text = text_update(frame_)
   
  cv2.putText(frame, on_video_text, (50, 50), font, 1, (0, 255, 255),
    2, cv2.LINE_4)
frame_ = frame_ + 1
cv2.imshow('poem on video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
    break
tree_video.release()
cv2.destroyAllWindows()

那么上面的代碼中發(fā)生了什么:

  • 我們首先從讀取視頻開始的。
  • 然后定義我們想要用于文本的字體。
  • 然后使用 text_update 來更新文本。
  • 使用 putText 方法添加視頻響應文本。
  • 使用 imshow 方法顯示視頻。

下面是我運行程序后的截圖:

總結(jié)

恭喜!我們已經(jīng)學習了如何使用 Python 在視頻上呈現(xiàn)可更新的響應文本。我希望你喜歡這個實際操作的計算機視覺項目。參與實際的編程項目是提高編程技能的最好方法。

責任編輯:趙寧寧 來源: 小白玩轉(zhuǎn)Python
相關推薦

2021-01-08 13:56:50

LinuxJOE文本編輯器

2021-03-15 21:50:22

Linux提取文本GUI工具

2021-11-24 09:43:11

grepLinux文件

2022-10-18 23:53:20

Python數(shù)據(jù)Matplotlib

2023-05-11 13:55:00

LinuxKdenlive編輯視頻

2022-06-10 14:22:05

BlenderLinux開源

2019-12-05 10:30:17

LinuxMultitail

2011-07-07 16:00:15

iPhone OpenCV

2011-03-22 10:06:27

LinuxZFS

2022-10-19 13:11:35

2020-04-02 18:30:28

PythonGitHub編程語言

2020-04-02 16:02:44

PythonGithub博客

2022-02-28 09:24:17

KWriteKateLinux

2013-11-18 14:42:53

瀏覽器渲染

2020-08-25 19:56:43

MinGWWindowsGNU

2023-05-24 16:41:41

React前端

2011-03-01 11:23:37

Chrome ActiveX

2021-09-06 09:10:31

Linuxncurses定位文本

2012-04-11 13:42:53

ibmdw

2018-02-26 08:14:20

LinuxDocker容器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产中文字幕在线观看 | 一区二区三区不卡视频 | 天堂av中文在线 | 男人电影天堂 | 国产成人精品视频在线观看 | 国产精品99久久久久久久vr | 国产成人精品一区二区三区在线 | 丝袜 亚洲 另类 欧美 综合 | 6080yy精品一区二区三区 | 国产成人一区 | 日韩在线精品视频 | 五月天综合影院 | 日韩高清中文字幕 | 谁有毛片 | 嫩草黄色影院 | 色婷婷一区二区三区四区 | 国产在线精品一区二区 | 亚洲欧洲一区二区 | 亚洲欧洲精品一区 | 日韩视频免费看 | 精品久久久久久久久久久久 | 久久久国产精品 | 激情黄色在线观看 | 天天亚洲 | 韩日一区二区三区 | 亚洲日日 | 久久成人一区二区三区 | 久久国产视频播放 | 欧美韩一区二区三区 | 亚洲精品一 | 91久久精品国产 | 成人精品鲁一区一区二区 | 九色在线视频 | 国产精品久久国产精品 | 亚洲日韩第一页 | 亚洲成人天堂 | 国产精品精品久久久久久 | 国产乱码精品一区二区三区中文 | 久久精品国产久精国产 | 欧美视频三级 | 99在线国产 |