zoukankan      html  css  js  c++  java
  • 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 
    # "xFFxD8xFFxE0x00x10x4Ax46x49x46".
    
    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 = "xFFxD8xFFxE0x00x10x4Ax46x49x46"
        # 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了

  • 相关阅读:
    java多线程--线程和线程池
    java多线程--锁学习
    vue项目中使用iconfont
    组件封装-无数据组件
    添加自定义字体
    时间格式化(自定义格式)
    深度克隆方法
    LazyMan面试题
    lodash.throttle实现节流
    第6章:关系数据库理论(考研重点)
  • 原文地址:https://www.cnblogs.com/zcftech/p/3641429.html
Copyright © 2011-2022 走看看