Python 从多个帧中查找每个像素的RGB值

Python 从多个帧中查找每个像素的RGB值,python,rgb,pixel,Python,Rgb,Pixel,我有两个视频。一个是10 fps,另一个是相同的视频和10 fps,但它是从相同的视频插值5 fps版本。我想通过比较每一帧的RGB值来了解帧插值的精度。我可以从两个视频中提取每一帧。但是,我只能得到一帧的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

我有两个视频。一个是10 fps,另一个是相同的视频和10 fps,但它是从相同的视频插值5 fps版本。我想通过比较每一帧的RGB值来了解帧插值的精度。我可以从两个视频中提取每一帧。但是,我只能得到一帧的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等和其他视频帧另存为frames1.jpg frames2.jpg。。。frames100.jpg等。是否有一种自动化的方法

您可以使用
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格式在路径中的所有文件上循环。如果你想要更具体的东西,你可以添加请求,我会添加到我的答案中。但这将按顺序加载所有图像,允许您随后处理它们。

将所有这些内容放入循环中

for i in range(1, 101):
    file = 'frame%d.jpg'%i
    im = Image.open(file)
    # ...