在 Scikit-image [Python] 中移动图像
Posted
技术标签:
【中文标题】在 Scikit-image [Python] 中移动图像【英文标题】:Shift image in Scikit-image [Python] 【发布时间】:2017-12-24 14:31:11 【问题描述】:我希望有这样的功能,但它不存在:
from skimage.transform import shift
shifted = shift(image, translation=(15.2, 35.7),
mode='wrap', preserve_range=True)
你能帮我写一个使用 skimage.transform.AffineTransform 的函数吗?
from skimage.transform import AffineTransform
def shift(image, translation):
transform = AffineTransform(translation=translation)
# How to do it???
shifted = transform(image) # Does not work, documentation for usage present
# of this class is not present...
return shifted
然而,scipy.ndimage.interpolation.shift
功能可以满足我的需求,它非常慢 - 甚至比旋转慢 10-20 倍。 numpy.roll
也不支持,因为它不支持小数转换。
文档有点意思: http://scikit-image.org/docs/stable/api/skimage.transform.html#skimage.transform.AffineTransform
【问题讨论】:
【参考方案1】:看起来这很有效。但是,如果有人知道更简单、更快捷的方法 - 请告诉我。
from skimage.transform import AffineTransform, warp
def shift(image, vector):
transform = AffineTransform(translation=vector)
shifted = warp(image, transform, mode='wrap', preserve_range=True)
shifted = shifted.astype(image.dtype)
【讨论】:
以上是关于在 Scikit-image [Python] 中移动图像的主要内容,如果未能解决你的问题,请参考以下文章
Python: scikit-image binary descriptor
Python: scikit-image Blob detection
Python scikit-image 拉取请求 Travis CI Python 2.7 构建失败