我有两个视频。一种是10 fps,另一种是相同的视频和10 fps,但是是从相同的5 fps版本的视频中插入的。我想通过比较每个帧的RGB值来查看帧插值的准确性。我可以从两个视频中提取每一帧。但是,我只能获得仅1帧的RGB值。我使用以下代码:
from PIL import Image
im = Image.open('frame1.jpg')
pix = im.load()
for x in range(0,640):
for y in range(0,480):
print pix[x,y]
此代码只能在1帧中找到RGB值,而我有数百帧。我原始视频的帧被命名为frame1.jpg frame2.jpg ...帧100.jpg等,其他视频帧被另存为frame1.jpg frame2.jpg ... frame100.jpg等。是否有一种自动化的方法它
答案 0 :(得分:0)
您可以使用glob
(Python本身提供)加载所有图像并同时存储它们,或者一次处理一个。
import glob
from PIL import Image
for frames in glob.glob({path}+"*.jpg"):
im = Image.open(frames)
pix=im.load()
for x in range(0,640):
for y in range(0,480):
print pix[x,y]
这将完成您的操作,但是它将循环遍历JPG格式的路径中的所有文件。如果您需要更具体的信息,可以添加请求,我将添加到我的答案中。但这将顺序加载所有图像,使您可以随后对其进行处理。
答案 1 :(得分:0)
将所有内容循环放置。
for i in range(1, 101):
file = 'frame%d.jpg'%i
im = Image.open(file)
# ...