日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

20行Python代碼實(shí)現(xiàn)視頻字符化功能

瀏覽:27日期:2022-07-30 10:56:31

我們經(jīng)常在B站上看到一些字符鬼畜視頻,主要就是將一個(gè)視頻轉(zhuǎn)換成字符的樣子展現(xiàn)出來(lái)。看起來(lái)是非常高端,但是實(shí)際實(shí)現(xiàn)起來(lái)確是非常簡(jiǎn)單,我們只需要接觸opencv模塊,就能很快的實(shí)現(xiàn)視頻字符化。但是在此之前,我們先看看我們實(shí)現(xiàn)的效果是怎樣的:

20行Python代碼實(shí)現(xiàn)視頻字符化功能

上面就是截取的一部分效果圖,下面開(kāi)始進(jìn)入我們的主題。

一、OpenCV的安裝及圖片讀取

在Python中我們只需要用pip安裝即可,我們?cè)诳刂婆_(tái)執(zhí)行下列語(yǔ)句:

pip install opencv-python

安裝完成就可以開(kāi)始使用。我們先讀取一個(gè)圖片:

import cv2im = cv2.imread(’jljt’)# 讀取圖片cv2.imshow(’im’, im)# 顯示圖片cv2.waitKey(0)# 等待鍵盤輸入cv2.destroyAllWindows()# 銷毀內(nèi)存

首先我們使用cv2.imread方法讀取圖片,該方法返回一個(gè)ndarray對(duì)象。然后調(diào)用imshow方法顯示圖像,調(diào)用后會(huì)出現(xiàn)一個(gè)窗口,因?yàn)檫@個(gè)窗口只會(huì)出現(xiàn)一瞬間,所以我們調(diào)用waitKey等待輸入,傳入0表示無(wú)限等待。因?yàn)閛pencv是使用c++編寫的,所以我們需要銷毀內(nèi)存。

二、OpenCV中的一些基礎(chǔ)操作

我們將視頻字符化的思路就是先將視頻轉(zhuǎn)換為一幀一幀的圖像,然后對(duì)圖像進(jìn)行字符化處理,最后展示出來(lái)就是字符視頻的效果了。在我們生成字符畫之前,我們還要看一些OpenCV的操作。

(1)灰度轉(zhuǎn)換

灰度處理是一個(gè)非常常用的操作,我們?cè)嫉膱D片是有BGR三個(gè)圖層(在OpenCV中,圖像是以BGR形式讀取)。我們進(jìn)行灰度處理直觀上看就是將圖片變成黑白,而本質(zhì)上是將圖片的三個(gè)圖層通過(guò)計(jì)算,變成一個(gè)圖層。而這種計(jì)算是不需要我們做的,我們只需要調(diào)用OpenCV中的函數(shù)即可:

import cv2# 讀取圖片im = cv2.imread(’jljt.jpg’)# 灰度轉(zhuǎn)換grey = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)

效果圖和原圖對(duì)比如下:

20行Python代碼實(shí)現(xiàn)視頻字符化功能

左邊為原圖,右邊為灰度轉(zhuǎn)換后的圖像。

(3)改變圖片大小

因?yàn)樽址髨D像會(huì)比較大,所以我們需要先縮小圖片,我們調(diào)用cv2.resize即可改變圖像大小:

import cv2# 讀取圖像im = cv2.imread(’jljt.png’)# 改變圖像大小re = cv2.resize(im, (100, 40))cv2.imshow(’11’, re)cv2.waitKey(0)cv2.destroyAllWindows()

(2)逐幀讀取視頻

我們可以通過(guò)VideoCapture讀取視頻,然后調(diào)用其中的方法讀取每一幀。

import cv2# 讀取視頻video = cv2.VideoCapture(’jljt.mp4’)# 讀取幀,該方法返回兩個(gè)參數(shù),第一個(gè)為是否還有下一幀,第二個(gè)為幀的ndarray對(duì)象ret, frame = video.read()while ret: # 循環(huán)讀取幀 ret, frame = video.read()

有了上面的操作,我們就可以開(kāi)始我們下一步的工作了。

三、圖片字符化

對(duì)于只有一個(gè)通道的圖片,我們可以把它當(dāng)成一個(gè)矩形,這個(gè)矩形最小單位就是一個(gè)像素。而字符化的過(guò)程就是用字符替代像素點(diǎn)的過(guò)程。所以我們要遍歷圖像的每個(gè)像素點(diǎn),但是我們應(yīng)該用什么字符取代呢?

我們顏色有一個(gè)參照表,而opencv將這個(gè)參數(shù)表切割成256份,代表不同的程度,我們也可以做一個(gè)參照表,不過(guò)表中的內(nèi)容不是顏色,而是字符。

20行Python代碼實(shí)現(xiàn)視頻字符化功能

上圖為顏色表,我們可以使顏色表和字符表建立映射關(guān)系。假如字符表如下:

mqpka89045321@#$%^&*()_=||||}

我們可以得到下列公式:

20行Python代碼實(shí)現(xiàn)視頻字符化功能

經(jīng)過(guò)變換可以求得相應(yīng)顏色對(duì)應(yīng)字符表中的字符:

20行Python代碼實(shí)現(xiàn)視頻字符化功能

這個(gè)公式不理解也沒(méi)關(guān)系,只需要會(huì)用即可。下面就是我們完整的代碼了:

import cv2str = ’mqpka89045321@#$%^&*()_=||||}’ # 字符表im = cv2.imread(’jljt.jpg’)# 讀取圖像grey = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)# 灰度轉(zhuǎn)換grey = cv2.resize(grey, (50, 18))# 縮小圖像str_img = ’’# 用于裝字符畫for i in grey:# 遍歷每個(gè)像素 for j in i: index = int(j / 256 * len(str))# 獲取字符坐標(biāo) str_img += str[index]# 將字符添加到字符畫中 str_img += ’n’print(str_img)

生成如下字符畫:

20行Python代碼實(shí)現(xiàn)視頻字符化功能

因?yàn)槌叽绫容^小的關(guān)系,看出來(lái)的效果不是很好,我們調(diào)節(jié)好大小就好了。

四、視頻轉(zhuǎn)字符

我們知道圖片轉(zhuǎn)字符,自然視頻轉(zhuǎn)字符就不是什么問(wèn)題了,我們只需要在逐幀讀取中執(zhí)行圖片字符化操作即可。

import osimport cv2str = ’mqpka89045321@#$%^&*()_=||||}’# 字符表video = cv2.VideoCapture(’jljt.mp4’) # 讀取視頻ret, frame = video.read()# 讀取幀while ret:# 逐幀讀取 str_img = ’’# 字符畫 grey = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)# 灰度轉(zhuǎn)換 grey = cv2.resize(grey, (100, 40))# 該表大小 for i in grey:# 遍歷每個(gè)像素點(diǎn) for j in i: index = int(j / 256 * len(str))# 獲取字符坐標(biāo) str_img += str[index]# 將字符添加到字符畫中 str_img += ’n’ os.system(’cls’)# 清除上一幀輸出的內(nèi)容 print(str_img)# 輸出字符畫 ret, frame = video.read()# 讀取下一幀 cv2.waitKey(5)

這樣我們就會(huì)每個(gè)5毫秒執(zhí)行一幀畫面,在我們使用pycharm執(zhí)行時(shí),會(huì)發(fā)現(xiàn)并沒(méi)有執(zhí)行清屏操作,所以我們需要到命令行運(yùn)行。最終效果就是我們的字符視頻了:

20行Python代碼實(shí)現(xiàn)視頻字符化功能

在選取字符表時(shí)我們需要注意主體的顏色,如果主體顏色較淺,則字符表的尾部應(yīng)該為一些復(fù)雜字符,如:$%#@&。字符表頭部為一些簡(jiǎn)單字符,如:-|/等。如果主體顏色較深,而背景顏色較淺,則反之。當(dāng)然這沒(méi)有唯一的標(biāo)準(zhǔn),大家可以慢慢調(diào)節(jié)。

總結(jié)

到此這篇關(guān)于20行Python代碼實(shí)現(xiàn)視頻字符化的文章就介紹到這了,更多相關(guān)python 視頻字符化內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文字幕高清在线播放| 国产+成+人+亚洲欧洲在线| 中文一区一区三区免费在线观 | 999视频精品| 国产毛片久久久| 中文字幕av一区二区三区人 | 日韩精品中文字幕一区二区| 99视频精品全部免费在线视频| 国产精品成人自拍| 婷婷成人av| 极品日韩av| 蜜臀久久99精品久久一区二区| 国产精品mm| 久久不见久久见中文字幕免费| 日本不卡在线视频| 日本综合视频| 日本免费一区二区视频| 久久天堂av| 久久天堂精品| 香蕉人人精品| 国产精品免费看| 欧美美女一区| 免费人成精品欧美精品| 亚洲影视一区二区三区| 国产免费成人| 久久久一二三| 亚洲欧美日韩视频二区| 每日更新成人在线视频| 亚洲欧美日韩国产一区二区| 亚洲色图网站| 欧美黄页在线免费观看| 国产成人精品一区二区三区视频| 久久爱www.| 999国产精品视频| 午夜精品免费| 日韩1区2区3区| 国产日韩一区| 99久久精品网| 亚洲天堂日韩在线| 国产精品亚洲人成在99www| 久久一区二区三区电影| 99国内精品| 国产精品欧美三级在线观看| 国产一区二区精品福利地址| 亚洲女同中文字幕| 99国产精品99久久久久久粉嫩| 在线精品亚洲| sm久久捆绑调教精品一区| 欧美 日韩 国产一区二区在线视频 | 中文字幕系列一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品调教| 韩国精品主播一区二区在线观看| 国产精品高颜值在线观看| 视频一区在线播放| 国产va免费精品观看精品视频| 欧美专区在线| 日韩欧美一区二区三区在线观看| 日韩精品视频中文字幕| 免费视频亚洲| 国产精品蜜月aⅴ在线| 国产亚洲永久域名| 成人亚洲一区| 日韩国产精品久久久| 欧美1区免费| 成人影视亚洲图片在线| 欧美日韩调教| 亚洲精品视频一二三区| 天堂av在线| 国产精品扒开腿做爽爽爽软件| 99久久夜色精品国产亚洲1000部| 国产精品亚洲综合久久| 一区二区精彩视频| 青草综合视频| 中文字幕中文字幕精品| **爰片久久毛片| 青草av.久久免费一区| 亚洲精品少妇| 亚州欧美在线| 在线午夜精品| 亚洲欧美日韩一区在线观看| 美女少妇全过程你懂的久久| 在线一区av| 麻豆一区二区在线| 久久不见久久见中文字幕免费| 日韩在线成人| 最近国产精品视频| 蜜桃一区二区三区在线| 免费欧美在线视频| 中文字幕成人| 另类亚洲自拍| 日韩精品久久久久久久软件91| 亚洲理论在线| 欧美视频久久| 成人亚洲精品| 麻豆网站免费在线观看| 日韩欧美三级| 在线亚洲观看| 香蕉久久夜色精品国产| 一本一道久久a久久精品蜜桃| 欧美日韩激情| 免播放器亚洲一区| 精品视频99| 91欧美日韩在线| 午夜久久美女| 亚洲成人av观看| 狂野欧美性猛交xxxx| 久久亚洲国产精品一区二区| 免费福利视频一区二区三区| 欧美精品福利| 日本成人在线视频网站| 免费的成人av| 99xxxx成人网| 成人午夜精品| 都市激情国产精品| 美女视频免费精品| 国产一卡不卡| 91亚洲精品视频在线观看| 国产模特精品视频久久久久| 久久国产影院| 色综合www| 国产成人免费精品| 久久中文字幕一区二区三区| 欧美日韩一区二区三区不卡视频| 日韩精品一卡| 免费国产自线拍一欧美视频| 国产精品久久久免费| 啪啪国产精品| 国产日韩欧美在线播放不卡| 亚洲涩涩av| 青青草国产精品亚洲专区无| 日本一区福利在线| 欧美片第1页综合| 精品国产精品国产偷麻豆| 免费在线日韩av| 久久精品理论片| 97久久精品| 日韩中出av| 国产精品久久久久久模特| 国产一区调教| 日韩欧美一区二区三区免费看| 给我免费播放日韩视频| 成人亚洲欧美| 欧美日韩在线二区| 国产亚洲高清视频| 日韩精品1区2区3区| 欧美日韩国产一区二区在线观看| 你懂的国产精品| 久久蜜桃av| 久久精品av麻豆的观看方式| 精品久久97| 91久久亚洲| 欧美日韩一区自拍| 欧美亚洲日本精品| 日韩中文字幕一区二区三区| 美美哒免费高清在线观看视频一区二区| 亚洲乱码久久| 日韩国产欧美| 私拍精品福利视频在线一区| 亚洲一区免费| 久久精品国产99国产| 最新亚洲激情| 久久亚洲国产精品尤物| 亚洲资源av| 高清av一区| 日韩中文字幕| 久久婷婷av| 国产精品免费精品自在线观看| 欧美一区三区| 精品一区二区三区中文字幕| 亚洲深爱激情| 快播电影网址老女人久久| 视频国产精品| 日韩欧美1区| 国产精品成人自拍| 亚洲一级淫片| 精品一区在线| 伊人网在线播放| 欧美日本久久| 日韩精品三级| 蜜桃视频第一区免费观看| 日韩在线二区| 久久青青视频| 91日韩欧美| 国产精品毛片久久| 另类综合日韩欧美亚洲| 久久国产麻豆精品| 亚洲一二三区视频| 青青久久av| 午夜精品成人av| 97精品视频在线看| 9999国产精品| 国产资源在线观看入口av| 久久精品国产999大香线蕉| 国产欧美日韩免费观看| 亚洲精品伊人| 日韩欧美美女在线观看| 亚洲精品综合| 91午夜精品| 久久这里只有|