python---视频间隔取图片+图片重命名

 

# mp42jpg-gap.py

#! encoding: UTF-8

import cv2
import os.path

vc = cv2.VideoCapture('/home/u/wp_video/night/005-127.mp4') #读入视频文件
c=1 
  
if vc.isOpened(): #判断是否正常打开
    rval , frame = vc.read()
else:
    rval = False
  
timeF = 38  #视频帧计数间隔频率
  
while rval:   #循环读取视频帧
    rval, frame = vc.read()
    if(c % timeF == 0): #每隔timeF帧进行存储操作
        #cv2.imwrite('/home/u/wp_video/事件检测-图片/停车/'+str(c)+'.jpg',frame) #存储为图像
        cv2.imwrite('/home/u/wp_video/night/005-127/'+str(c)+'.jpg',frame) #存储为图像
    c = c + 1
    cv2.waitKey(1)
vc.release()

 

#rename_jpg.py


# -*- coding:utf8 -*-

import os

class BatchRename():
    '''
    批量重命名文件夹中的图片文件

    '''
    def __init__(self):
        self.path = '/home/u/wp_video/事件检测-图片/shijian-images/3'  #yolo-data071050表示需要命名处理的文件夹

    def rename(self):
        filelist = os.listdir(self.path) #获取文件路径
        total_num = len(filelist) #获取文件长度(个数)
        i = 3474  #表示文件的命名是从1开始的
        for item in filelist:
            if item.endswith('.jpg'):  #初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可)
                src = os.path.join(os.path.abspath(self.path), item)
                #dst = os.path.join(os.path.abspath(self.path), ''+str(i) + '.jpg')#处理后的格式也为jpg格式的,当然这里可以改成png格式
                dst = os.path.join(os.path.abspath(self.path), '100' + format(str(i), '0>3s') + '.jpg')    
                #'0000' + format(str(i), '0>3s'这种情况下的命名格式为0000000.jpg形式,可以自主定义想要的格式
                try:
                    os.rename(src, dst)
                    print ('converting %s to %s ...' % (src, dst))
                    i = i + 1
                except:
                    continue
        print ('total %d to rename & converted %d jpgs' % (total_num, i))

if __name__ == '__main__':
    demo = BatchRename()
    demo.rename()

 

posted on 2020-04-10 09:35  WP的烂笔头  阅读(414)  评论(0编辑  收藏  举报