本文整理汇总了Python中menpo.transform.NonUniformScale.apply_inplace方法的典型用法代码示例。如果您正苦于以下问题:Python NonUniformScale.apply_inplace方法的具体用法?Python NonUniformScale.apply_inplace怎么用?Python NonUniformScale.apply_inplace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类menpo.transform.NonUniformScale
的用法示例。
在下文中一共展示了NonUniformScale.apply_inplace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: glyph
# 需要导入模块: from menpo.transform import NonUniformScale [as 别名]
# 或者: from menpo.transform.NonUniformScale import apply_inplace [as 别名]
def glyph(self, vectors_block_size=10, use_negative=False, channels=None):
r"""
Create glyph of a feature image. If feature_data has negative values,
the use_negative flag controls whether there will be created a glyph of
both positive and negative values concatenated the one on top of the
other.
Parameters
----------
vectors_block_size: int
Defines the size of each block with vectors of the glyph image.
use_negative: bool
Defines whether to take into account possible negative values of
feature_data.
"""
# first, choose the appropriate channels
if channels is None:
pixels = self.pixels[..., :4]
elif channels != 'all':
pixels = self.pixels[..., channels]
else:
pixels = self.pixels
# compute the glyph
negative_weights = -pixels
scale = np.maximum(pixels.max(), negative_weights.max())
pos = _create_feature_glyph(pixels, vectors_block_size)
pos = pos * 255 / scale
glyph_image = pos
if use_negative and pixels.min() < 0:
neg = _create_feature_glyph(negative_weights, vectors_block_size)
neg = neg * 255 / scale
glyph_image = np.concatenate((pos, neg))
glyph = Image(glyph_image)
# correct landmarks
from menpo.transform import NonUniformScale
image_shape = np.array(self.shape, dtype=np.double)
glyph_shape = np.array(glyph.shape, dtype=np.double)
nus = NonUniformScale(glyph_shape / image_shape)
glyph.landmarks = self.landmarks
nus.apply_inplace(glyph.landmarks)
return glyph