本文整理汇总了Python中menpo.transform.UniformScale类的典型用法代码示例。如果您正苦于以下问题:Python UniformScale类的具体用法?Python UniformScale怎么用?Python UniformScale使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UniformScale类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: detect
def detect(detector_callable, image, greyscale=True, image_diagonal=None, group_prefix="object", channels_at_back=True):
r"""
Apply the general detection framework.
This involves converting the image to greyscale if necessary, rescaling
the image to a given diagonal, performing the detection, and attaching
the scaled landmarks back onto the original image.
uint8 images cannot be converted to greyscale by this framework, so must
already be greyscale or ``greyscale=False``.
Parameters
----------
detector_callable : `callable` or `function`
A callable object that will perform detection given a single parameter,
a `uint8` numpy array with either no channels, or channels as the
*last* axis.
image : `menpo.image.Image`
A Menpo image to detect. The bounding boxes of the detected objects
will be attached to this image.
greyscale : `bool`, optional
Convert the image to greyscale or not.
image_diagonal : `int`, optional
The total size of the diagonal of the image that should be used for
detection. This is useful for scaling images up and down for detection.
group_prefix : `str`, optional
The prefix string to be appended to each each landmark group that is
stored on the image. Each detection will be stored as group_prefix_#
where # is a count starting from 0.
channels_at_back : `bool`, optional
If ``True``, the image channels are placed onto the last axis (the back)
as is common in many imaging packages. This is contrary to the Menpo
default where channels are the first axis (at the front).
Returns
-------
bounding_boxes : `list` of `menpo.shape.PointDirectedGraph`
A list of bounding boxes representing the detections found.
"""
d_image = image
if greyscale:
d_image = _greyscale(d_image)
if image_diagonal is not None:
scale_factor = image_diagonal / image.diagonal()
d_image = d_image.rescale(scale_factor)
pcs = detector_callable(menpo_image_to_uint8(d_image, channels_at_back=channels_at_back))
if image_diagonal is not None:
s = UniformScale(1 / scale_factor, n_dims=2)
pcs = [s.apply(pc) for pc in pcs]
padding_magnitude = len(str(len(pcs)))
for i, pc in enumerate(pcs):
key = "{prefix}_{num:0{mag}d}".format(mag=padding_magnitude, prefix=group_prefix, num=i)
image.landmarks[key] = pc
return pcs
示例2: test_uniformscale_2d_pseudoinverse
def test_uniformscale_2d_pseudoinverse():
scale = 0.5
homo = np.array([[scale, 0, 0],
[0, scale, 0],
[0, 0, 1]])
tr = UniformScale(2, 2)
assert_almost_equal(tr.pseudoinverse().h_matrix, homo)
示例3: test_align_2d_uniform_scale_set_h_matrix_raises_notimplemented_error
def test_align_2d_uniform_scale_set_h_matrix_raises_notimplemented_error():
scale = UniformScale(2.5, 2)
source = PointCloud(np.array([[0, 1], [1, 1], [-1, -5], [3, -5]]))
target = scale.apply(source)
# estimate the transform from source and source
estimate = AlignmentUniformScale(source, source)
# and set the target
estimate.set_h_matrix(scale.h_matrix)
示例4: test_align_2d_uniform_scale
def test_align_2d_uniform_scale():
scale = UniformScale(2.5, 2)
source = PointCloud(np.array([[0, 1], [1, 1], [-1, -5], [3, -5]]))
target = scale.apply(source)
# estimate the transform from source and target
estimate = AlignmentUniformScale(source, target)
# check the estimates is correct
assert_allclose(scale.h_matrix, estimate.h_matrix)
示例5: test_uniformscale3d_from_vector
def test_uniformscale3d_from_vector():
scale = 2
homo = np.array([[scale, 0, 0, 0],
[0, scale, 0, 0],
[0, 0, scale, 0],
[0, 0, 0, 1]])
uniform_scale = UniformScale(1, 3)
tr = uniform_scale.from_vector(scale)
assert_equal(tr.h_matrix, homo)
示例6: test_uniformscale2d_update_from_vector
def test_uniformscale2d_update_from_vector():
# make a uniform scale of 1, 2 dimensional
uniform_scale = UniformScale(1, 2)
new_scale = 2
homo = np.array([[new_scale, 0, 0],
[0, new_scale, 0],
[0, 0, 1]])
uniform_scale._from_vector_inplace(new_scale)
assert_equal(uniform_scale.h_matrix, homo)
示例7: test_homog_compose_before_alignment_nonuniformscale
def test_homog_compose_before_alignment_nonuniformscale():
homog = Homogeneous(np.array([[0, 1, 0],
[1, 0, 0],
[0, 0, 1]]))
scale = UniformScale(2.5, 2)
source = PointCloud(np.array([[0, 1],
[1, 1],
[-1, -5],
[3, -5]]))
target = scale.apply(source)
# estimate the transform from source and target
s = AlignmentUniformScale(source, target)
res = homog.compose_before(s)
assert(type(res) == Homogeneous)
示例8: test_uniformscale_set_h_matrix_raises_notimplementederror
def test_uniformscale_set_h_matrix_raises_notimplementederror():
s = UniformScale(2, 3)
s.set_h_matrix(s.h_matrix)
示例9: test_uniformscale_compose_after_translation
def test_uniformscale_compose_after_translation():
t = Translation([3, 4])
s = UniformScale(2, 2)
res = s.compose_after(t)
assert(type(res) == Similarity)
示例10: test_uniformscale_identity_3d
def test_uniformscale_identity_3d():
assert_allclose(UniformScale.init_identity(3).h_matrix, np.eye(4))
示例11: test_uniformscale_identity_2d
def test_uniformscale_identity_2d():
assert_allclose(UniformScale.identity(2).h_matrix, np.eye(3))