由于跑編碼的需要,所以需要制作一個(gè).yuv格式的圖片數(shù)據(jù)集,但是手頭只有.jpg格式的,故記錄下轉(zhuǎn)換過程。其他圖片格式也可以,代碼里修改一下就行。
①安裝ffmpeg
官網(wǎng)(各種版本):ffmepg官網(wǎng)
window版:https://ffmpeg.zeranoe.com/builds/
②安裝ffmpeg的python3接口ffmpy3
在命令行中輸入以下命令:
pip install ffmpy3
③將下載好的windows版解壓,把ffmpeg.exe復(fù)制到你將要跑python代碼的文件夾里
④python代碼如下:
# -*- coding: utf-8 -*-import osfrom PIL import Imagefrom ffmpy3 import FFmpeg in_jpgDatasetPath = 'I:/VOC/trainval'out_yuvDatasetPath = 'I:/VVC/loop/yuvdataset' piclist = os.listdir(in_jpgDatasetPath)for pic in piclist: picname = pic.split('.')[0] picpath = os.path.join(in_jpgDatasetPath,pic) img = Image.open(picpath) in_wid,in_hei = img.size out_wid = in_wid//16*16 out_hei = in_hei//16*16 size = '{}x{}'.format(out_wid,out_hei) #輸出文件會(huì)縮放成這個(gè)大小 outname = out_yuvDatasetPath + '/' + picname + '_'+size+ '.yuv' ff = FFmpeg(inputs={picpath:None}, outputs={outname:'-s {} -pix_fmt yuv420p'.format(size)}) print(ff.cmd) ff.run()以上這篇利用python和ffmpeg 批量將其他圖片轉(zhuǎn)換為.yuv格式的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選