摘要:吹水今天,碼神依舊涼爽,軍體拳,摸魚一天,所以早上就在操場趴著,不過,我學(xué)會(huì)了,信不信看到抖音小姐姐的舞蹈,用代碼做出來,還挺好看,我也想試一下,不會(huì),學(xué)莫,反正假酒已經(jīng)醒了。
今天,碼神依舊涼爽,軍體拳,摸魚一天,所以早上就在操場趴著,**不過,我學(xué)會(huì)了, **信不信?看到抖音小姐姐的舞蹈,用代碼做出來,還挺好看,我也想試一下,不會(huì),學(xué)莫,反正假酒已經(jīng)醒了。
總不能一個(gè)一個(gè)做吧,這可是一個(gè)視頻,一個(gè)一個(gè)做我做到明年都弄不完,大致思路如下:
將一段視頻截取下來,使用GIF截取工具
將gif轉(zhuǎn)化為字符
用python導(dǎo)入庫
import osimport reimport shutilimport cv2from PIL import Imageimport moviepy.editor as mpy
讀取字符
def rename_gif(): file_list = os.listdir("./temp") # 讀取當(dāng)前文件夾所有文件 # print(file_list) print("檢測到文件夾下圖片:") n = len(file_list) num_list = [] num1 = num2 = 0 for i in range(n): s = str(file_list[i]) if s[-4:] == ".gif": # 檢查后綴 res = re.findall(r"/d+", s) if res[0] == "1": num1 += 1 if res[0] == "2": num2 += 1 src = os.path.join(os.path.abspath("./temp/"), s) # 原先的圖片名字 dst = os.path.join(os.path.abspath("./temp/"), res[0] + "-" + res[1]+".gif") # 根據(jù)自己的需要重新命名 os.rename(src, dst) # 重命名,覆蓋原先的名字 num_list.append(num1) num_list.append(num2) file_list = os.listdir("./temp") # 讀取當(dāng)前文件夾所有文件 for i in range(n): s = str(file_list[i]) if s[-4:] == ".gif": # 檢查后綴 res = re.findall(r"/d+", s) src = os.path.join(os.path.abspath("./temp/"), s) # 原先的圖片名字 a = int(res[0])-1 index = a*num_list[a-1] dst = os.path.join(os.path.abspath("./temp/"), str(index + int(res[1])) + ".gif") # 根據(jù)自己的需要重新命名 os.rename(src, dst) # 重命名,覆蓋原先的名字
用到python中的一個(gè)庫
pip install opencv-python
def charts2video(img_path, video_path): """將給定目錄下的圖片轉(zhuǎn)成視頻 Args: img_path: 圖片路徑 video_path: 輸出視頻的路徑和名稱 Returns: 圖片轉(zhuǎn)成的視頻 """ images = os.listdir(img_path) images.sort(key=lambda x: int(x[:-4])) # 以名稱字符串的數(shù)字從小到大排序 fps = 12 # 幀數(shù) fourcc = cv2.VideoWriter_fourcc("M", "P", "4", "V") im = Image.open(img_path + images[0]) video_writer = cv2.VideoWriter(video_path, fourcc, fps, im.size) for img_i in images: frame = cv2.imread(img_path + img_i) print("開始將 " + img_i + " 加入視頻/n") video_writer.write(frame) # 注意:圖片尺寸必須和視頻尺寸一樣,不然不會(huì)被加入視頻中?。。?/span> video_writer.release()
最后的代碼舞視頻我已經(jīng)上傳到B站了,大家可以一起來欣賞下喔。
還有就是我已經(jīng)學(xué)會(huì)軍體拳了,不用一直摸魚了
https://www.bilibili.com/video/BV1RP4y18741/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/122571.html
摘要:供應(yīng)商和經(jīng)銷商之間可以在線實(shí)時(shí)地提交訂單查詢產(chǎn)品供應(yīng)和庫存狀況并獲得市場銷售信息及客戶支持,實(shí)現(xiàn)了供應(yīng)商與經(jīng)銷商之間端到端的供應(yīng)鏈管理,有效地縮短了供銷鏈。近期太多同學(xué)找我解惑,我經(jīng)常勸大家不要過度焦慮,放平常心,其實(shí)我剛畢業(yè)時(shí)超級菜 B 的(放到今天工作都找不到那種),總結(jié)下來就是前面的 職場瓶頸:2~4 年前端走出離職困境與舒適區(qū) 的這些文章,于是我把剛?cè)胄性?ITEye 寫的文章,統(tǒng)...
摘要:當(dāng)?shù)竭_(dá)柵欄后,由于沒有滿足總數(shù)的要求,所以會(huì)一直等待,當(dāng)線程到達(dá)后,柵欄才會(huì)放行。任務(wù)其實(shí)就是當(dāng)最后一個(gè)線程到達(dá)柵欄時(shí),后續(xù)立即要執(zhí)行的任務(wù)。 showImg(https://segmentfault.com/img/remote/1460000016010958); 本文首發(fā)于一世流云專欄:https://segmentfault.com/blog... 一、CyclicBarri...
摘要:我一直認(rèn)為運(yùn)維工程師就是讓跳舞的人,當(dāng)我操縱幾百臺(tái)機(jī)器,整齊劃一地做一件事情,那種感覺特別棒。技術(shù)人攻略你怎么看待,運(yùn)維和開發(fā)的關(guān)系應(yīng)該怎樣平衡國內(nèi)大家提得多 showImg(http://segmentfault.com/img/bVb66I); 技術(shù)人攻略:運(yùn)維工作普遍很辛苦,你卻能做得如此快樂,有哪些經(jīng)驗(yàn)可以分享? 流程比補(bǔ)位更重要,方法比拼命更重要。UPYUN運(yùn)...
閱讀 2593·2021-10-25 09:45
閱讀 1254·2021-10-14 09:43
閱讀 2309·2021-09-22 15:23
閱讀 1538·2021-09-22 14:58
閱讀 1943·2019-08-30 15:54
閱讀 3553·2019-08-30 13:00
閱讀 1366·2019-08-29 18:44
閱讀 1579·2019-08-29 16:59