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