python ndimage_Python ndimage.affine_transform方法代码示例

本文详细介绍了Python中scipy.ndimage.affine_transform方法的用法,通过29个代码示例展示了如何进行仿射变换,包括图像旋转、缩放和平移等操作。示例涵盖了不同场景下的应用,如图像处理和数据转换。适用于对Python图像处理感兴趣的读者。
摘要由CSDN通过智能技术生成

本文整理汇总了Python中scipy.ndimage.affine_transform方法的典型用法代码示例。如果您正苦于以下问题:Python ndimage.affine_transform方法的具体用法?Python ndimage.affine_transform怎么用?Python ndimage.affine_transform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块scipy.ndimage的用法示例。

在下文中一共展示了ndimage.affine_transform方法的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: affine_transform

​点赞 6

# 需要导入模块: from scipy import ndimage [as 别名]

# 或者: from scipy.ndimage import affine_transform [as 别名]

def affine_transform(image, affine_value):

shape = image.shape

alpha_affine = min(shape[0], shape[1]) * affine_value

random_state = np.random.RandomState(None)

# Random affine

shape_size = shape[:2]

center_square = np.float32(shape_size) // 2

square_size = min(shape_size) // 3

pts1 = np.float32(

[center_square + square_size, [center_square[0] + square_size, center_square[1] - square_size],

center_square - square_size])

pts2 = pts1 + random_state.uniform(-alpha_affine, alpha_affine, size=pts1.shape).astype(np.float32)

M = calcAffineMatrix(pts1, pts2)

R = M[0:2, 0:2]

Off = M[:, 2]

for aD in range(shape[2]):

image[:, :, aD] = scipy_affine_transform(image[:, :, aD], R, offset=Off)

return image

开发者ID:TobiasGruening,项目名称:ARU-Net,代码行数:20,

示例2: test_affine_transform09

​点赞 6

# 需要导入模块: from scipy import ndimage [as 别名]

# 或者: from scipy.ndimage import affine_transform [as 别名]

def test_affine_transform09(self):

data = numpy.array([[4, 1, 3, 2],

[7, 6, 8, 5],

[3, 5, 3, 6]])

for order in range(0, 6):

if (order > 1):

filtered = ndimage.spline_filter(data,

order=order)

else:

filtered = data

out = ndimage.affine_transform(filtered,[[1, 0],

[0, 1]],

[-1, -1], order=order, prefilter=False)

assert_array_almost_equal(out, [[0, 0, 0, 0],

[0, 4, 1, 3],

[0, 7, 6, 8]])

开发者ID:ktraunmueller,项目名称:Computable,代码行数:18,

示例3: test_uint64_max

​点赞 6

# 需要导入模块: from scipy import ndimage [as 别名]

# 或者: from scipy.ndimage import affine_transform [as 别名]

def test_uint64_max():

# Test interpolation respects uint64 max. Reported to fail at least on

# win32 (due to the 32 bit visual C compiler using signed int64 when

# converting between uint64 to double) and Debian on s390x.

# Interpolation is always done in double precision floating point, so we

# use the largest uint64 value for which int(float(big)) still fits in

# a uint64.

big = 2**64-1025

arr = np.array([big, big, big], dtype=np.uint64)

# Tests geometric transform (map_coordinates, affine_transform)

inds = np.indices(arr.shape) - 0.1

x = ndimage.map_coordinates(arr, inds)

assert_equal(x[1], int(float(big)))

assert_equal(x[2], int(float(big)))

# Tests zoom / shift

x = ndimage.shift(arr, 0.1)

assert_equal(x[1], int(float(big)))

assert_equal(x[2], int(float(big)))

开发者ID:Relph1119,项目名称:GraphicDesignPatternByPython,代码行数:20,

示例4: test_affine_transform26

​点赞 6

# 需要导入模块: from scipy import ndimage [as 别名]

# 或者: from scipy.ndimage import affine_transform [as 别名]

def test_affine_transform26(self):

# test homogeneous coordinates

data = numpy.array([[4, 1, 3, 2],

[7, 6, 8, 5],

[3, 5, 3, 6]])

for order in range(0, 6):

if (order > 1):

filtered = ndimage.spline_filter(data, order=order)

else:

filtered = data

tform_original = numpy.eye(2)

offset_original = -numpy.ones((2, 1))

tform_h1 = numpy.hstack((tform_original, offset_original))

tform_h2 = numpy.vstack((tform_h1, [[0, 0, 1]]))

out1 = ndimage.affine_transform(filtered, tform_original,

offset_original.ravel(),

order=order, prefilter=False)

out2 = ndimage.affine_transform(filtered, tform_h1, order=order,

prefilter=False)

out3 = ndimage.affine_transform(filtered, tform_h2, order=order,

prefilter=False)

for out in [out1, out2, out3]:

assert_array

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值