__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