Blame view

mdata/helper.py 1.04 KB
1b6f5e02   Chunk   re-spidering
1
2
3
4
5
__author__ = 'hadoop'

from ..mfeat import HOG, IntraBlockDiff
import tempfile

e3e7e73a   Chunk   spider standalone...
6

1b6f5e02   Chunk   re-spidering
7
def get_feat(image, feattype='ibd', frommem=False, **kwargs):
e3e7e73a   Chunk   spider standalone...
8
9
    size = kwargs.get('size', (48, 48))
    if frommem:
1b6f5e02   Chunk   re-spidering
10
11
12
13
14
        try:
            tmpf = tempfile.NamedTemporaryFile(suffix='.jpg', mode='w+b')
            tmpf.write(image)
            tmpf.seek(0)
            image = tmpf.name
e3e7e73a   Chunk   spider standalone...
15
16
17
18
19
20
21
22
23

            if feattype == 'hog':
                feater = HOG.FeatHOG(size=size)
            elif feattype == 'ibd':
                feater = IntraBlockDiff.FeatIntraBlockDiff()
            else:
                raise Exception("Unknown feature type!")
            desc = feater.feat(image)

1b6f5e02   Chunk   re-spidering
24
25
26
27
28
29
        except Exception as e:
            print e
            raise
        finally:
            tmpf.close()

1b6f5e02   Chunk   re-spidering
30
    else:
e3e7e73a   Chunk   spider standalone...
31
32
33
34
35
36
37
        if feattype == 'hog':
            feater = HOG.FeatHOG(size=size)
        elif feattype == 'ibd':
            feater = IntraBlockDiff.FeatIntraBlockDiff()
        else:
            raise Exception("Unknown feature type!")
        desc = feater.feat(image)
1b6f5e02   Chunk   re-spidering
38
39

    return desc