python处理.seq文件

# Deal with .seq format for video sequence

# Author: Kaij

# The .seq file is combined with images,

# so I split the file into several images with the image prefix 

# "\xFF\xD8\xFF\xE0\x00\x10\x4A\x46\x49\x46".



import os.path

import fnmatch

import shutil



def open_save(file,savepath):

    # read .seq file, and save the images into the savepath

    

    f = open(file,'rb')

    string = str(f.read())

    splitstring = "\xFF\xD8\xFF\xE0\x00\x10\x4A\x46\x49\x46"

    # split .seq file into segment with the image prefix

    strlist=string.split(splitstring)

    f.close()

    count = 0

    # delete the image folder path if it exists

    if os.path.exists(savepath):

        shutil.rmtree(savepath)

    # create the image folder path

    if not os.path.exists(savepath):

        os.mkdir(savepath)

    # deal with file segment, every segment is an image except the first one

    for img in strlist:

        filename = str(count)+'.jpg'

        filenamewithpath=os.path.join(savepath, filename)

        # abandon the first one, which is filled with .seq header

        if count > 0:

            i=open(filenamewithpath,'wb+')

            i.write(splitstring)

            i.write(img)

            i.close()

        count += 1



if __name__=="__main__":

    rootdir = "D:\\Data\\feifei"

    # walk in the rootdir, take down the .seq filename and filepath

    for parent, dirnames, filenames in os.walk(rootdir):

        for filename in filenames:

            # check .seq file with suffix

            if fnmatch.fnmatch(filename,'*.seq'):

                # take down the filename with path of .seq file

                thefilename = os.path.join(parent, filename)

                # create the image folder by combining .seq file path with .seq filename

                thesavepath = parent+'\\'+filename.split('.')[0]

                print "Filename=" + thefilename

                print "Savepath=" + thesavepath

                open_save(thefilename,thesavepath)

  先贴出代码,最近做实验要用到加州理工的行人数据库,下载一看,是把图像按照二进制数据形式存储为.seq文件,没办法,找到一个哥们写的用python处理seq文件,将数据转换为.jpg图像。代码直接可用,只需要把文件搜索目录“rootdir”改为你自己文件的目录就OK了

你可能感兴趣的:(python)