【Pytorch】将文件夹下的所有文件依次通过模型

描述:

在合成视频时,需要将所有图片从视频里抽帧出来,经过模型处理,再把所有帧合成为视频,以下代码主要为将文件夹下所有文件通过模型的处理代码。


具体代码:

#所用到的库
import torch
import cv2
import os
import imageio
#模型相关文件
from option import args
from model import Model

device = torch.device("cuda",0)

def pic2target(pic_path,target_path):
    model = arbrcan.Model(args)
    model.load_state_dict(torch.load('/data1/video/model_180.pt', map_location='cpu'), strict=True)
    model.to(device)
    model.eval()
    model.set_scale(scale, scale2)
    #得到文件夹下所有文件
    filelist = os.listdir(pic_path)

    for i in filelist:
        load_path = pic_path+str(i)
        lr = imageio.imread(load_path)
        lr = torch.tensor(lr)
        lr = lr.unsqueeze(dim=0)
        lr = lr.permute(0,3,1,2)
        lr = lr.type(torch.FloatTensor).to(device)
        with torch.no_grad():
            hr = model(lr)
            hr = hr.squeeze(dim=0).permute(1,2,0)
            #转换为RGB格式
            hr = torch.cat([hr[:,:,2][:,:,None],hr[:,:,1][:,:,None],hr[:,:,0][:,:,None]],dim=2).cpu().detach().numpy()
        cv2.imwrite(target_path+str(i), hr)
        print('当前图片:',i)

if __name__ == '__main__':
    pic2target(pic_path = "/data1/video/tran5/",target_path='/data1/video/target5')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值