Python 如何通过添加未对齐从单个图像生成突发图像?

Python 如何通过添加未对齐从单个图像生成突发图像?,python,image,pytorch,Python,Image,Pytorch,我正在学习图像去噪和Pytorch。我想从一张图像中获得突发图像。例如,我有一个图像,然后随机裁剪一个特定大小的补丁。然后我想在它上面加上1或2个像素的偏移,得到一个差别很小的新图像。我能做什么?在PIL或其他方面使用一些技术更好吗?您应该使用变换来对您的问题进行一些图像增强 当我阅读你的评论时,你可以限制translate=(a,b)在两个维度上做一些微小的随机移位 import torchvision.transforms as transforms transform = transfo

我正在学习图像去噪和Pytorch。我想从一张图像中获得突发图像。例如,我有一个图像,然后随机裁剪一个特定大小的补丁。然后我想在它上面加上1或2个像素的偏移,得到一个差别很小的新图像。我能做什么?在PIL或其他方面使用一些技术更好吗?

您应该使用
变换来对您的问题进行一些图像增强

当我阅读你的评论时,你可以限制
translate=(a,b)
在两个维度上做一些微小的随机移位

import torchvision.transforms as transforms

transform = transforms.RandomAffine(degrees, translate=None, scale=None, shear=None, resample=False, fillcolor=0)

img = PIL.Image.open('path/img')

new_img = transform(img)

如果您还想执行更多变换,如
裁剪
,请使用
变换将所有
变换
分组为一个大的
变换。组合
。这是您的

可能的副本,我已经考虑过了,但似乎很难将失调限制在1或2像素。换句话说,我希望第一次收割的位置是随机的,但下一次收割的位置要靠近第一次收割的位置。我不知道Pytorch中的增广是如何实现的,我不能限制translate=(2,2)。它会出现一个错误“valueError应该在0和1之间”我只是将答案(我的错误)编辑为
translate=(a,b)
,如文档所示
-img\u width*a
。因此,您可以计算
a=some value
以匹配
dx=2像素
,与
dy
相同。我不明白为什么a,b应该与img\u宽度或高度相乘。如果-img_width