helper.py
1.04 KB
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
__author__ = 'hadoop'
from ..mfeat import HOG, IntraBlockDiff
import tempfile
def get_feat(image, feattype='ibd', frommem=False, **kwargs):
size = kwargs.get('size', (48, 48))
if frommem:
try:
tmpf = tempfile.NamedTemporaryFile(suffix='.jpg', mode='w+b')
tmpf.write(image)
tmpf.seek(0)
image = tmpf.name
if feattype == 'hog':
feater = HOG.FeatHOG(size=size)
elif feattype == 'ibd':
feater = IntraBlockDiff.FeatIntraBlockDiff()
else:
raise Exception("Unknown feature type!")
desc = feater.feat(image)
except Exception as e:
print e
raise
finally:
tmpf.close()
else:
if feattype == 'hog':
feater = HOG.FeatHOG(size=size)
elif feattype == 'ibd':
feater = IntraBlockDiff.FeatIntraBlockDiff()
else:
raise Exception("Unknown feature type!")
desc = feater.feat(image)
return desc