首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scipy.ndimage中应用旋转后获得不同的范围

在scipy.ndimage中应用旋转后获得不同的范围
EN

Stack Overflow用户
提问于 2017-09-05 07:06:00
回答 1查看 548关注 0票数 1

我有一个在0,3范围内的随机矩阵A。对于这个矩阵,我将以10的角度旋转。然而,在旋转矩阵中,我得到了不同的范围。我的代码有什么问题?谢谢

代码语言:javascript
复制
from scipy.ndimage import rotate
import numpy as np
A = np.random.randint(0, 4, size=(64,128,128))
print (A.max(), A.shape)
B=rotate(A, angle=10, reshape=False, axes=(0,1))
print (B.max(), B.shape)

输出是

代码语言:javascript
复制
(3, (128, 128, 128))
(4, (128, 128, 128))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-05 08:41:39

scipy.ndimage.rotate (手册)使用样条插值执行矩阵旋转,默认情况下使用样条3阶,这可能导致输出值大于输入数据。

您可以将使用的样条插值的顺序降为1,这将行为更改为线性插值。为此,修改旋转行如下:

代码语言:javascript
复制
B=rotate(A, angle=10, order=1, reshape=False, axes=(0,1))

有关样条插值的更多信息,请参见此介绍性论文

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46048874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档