helper.py 739 Bytes
__author__ = 'hadoop'

from ..mfeat import HOG, IntraBlockDiff
import tempfile

def get_feat(image, feattype='ibd', frommem=False, **kwargs):
    if  frommem:
        try:
            tmpf = tempfile.NamedTemporaryFile(suffix='.jpg', mode='w+b')
            tmpf.write(image)
            tmpf.seek(0)
            image = tmpf.name
        except Exception as e:
            print e
            raise
        finally:
            tmpf.close()

    size = kwargs.get('size', (48, 48))

    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