【问题标题】:Find every pixels RGB value from multiple frames从多个帧中查找每个像素的 RGB 值
【发布时间】:2018-07-30 13:33:24
【问题描述】:

我有两个视频。一个为 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 ... frame 100.jpg 等,其他视频帧保存为 frames1.jpg frames2.jpg ... frames100.jpg 等。有没有办法自动化它

【问题讨论】:

    标签: python rgb pixel


    【解决方案1】:

    您可以使用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 格式的文件。如果您想要更具体的内容,您可以添加请求,我会添加到我的答案中。但这会按顺序加载所有图像,以便您随后处理它们。

    【讨论】:

      【解决方案2】:

      将所有这些东西放在一个循环中。

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

      【讨论】:

        猜你喜欢
        • 2013-04-10
        • 2013-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多