|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 |
# 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.pathimport
fnmatchimport
shutildef
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 +=
1if __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了
原文:http://www.cnblogs.com/zcftech/p/3641429.html