Deep learning 如何将火炬图像分割为numpy图像

Deep learning 如何将火炬图像分割为numpy图像,deep-learning,pytorch,vision,Deep Learning,Pytorch,Vision,我正在研究一个问题,在这个问题中,我有坐标来像这样分割图像 X坐标、Y坐标、要裁剪区域的高度和宽度 所以,如果我有火炬图像获得使用 img = Variable(img.cuda()) 我们如何切片此图像以获得图像的特定区域[y:y+高度,x:x+宽度]。 谢谢如果我正确理解了你的问题,那么你就可以像在numpy那样做了 下面是一个简短的例子: 导入火炬 t=火炬.兰特(5,5) #原始矩阵 打印(t) h=2 w=2 x=1 y=1 #裁剪矩阵 打印(t[x:x+h,y:y+w]) 输出:

我正在研究一个问题,在这个问题中,我有坐标来像这样分割图像

X坐标、Y坐标、要裁剪区域的高度和宽度

所以,如果我有火炬图像获得使用

img = Variable(img.cuda())
我们如何切片此图像以获得图像的特定区域[y:y+高度,x:x+宽度]
谢谢

如果我正确理解了你的问题,那么你就可以像在numpy那样做了

下面是一个简短的例子:

导入火炬
t=火炬.兰特(5,5)
#原始矩阵
打印(t)
h=2
w=2
x=1
y=1
#裁剪矩阵
打印(t[x:x+h,y:y+w])
输出:

张量([[0.5402,0.4106,0.9904,0.9556,0.2217],
[ 0.4533,  0.6300,  0.5352,  0.2710,  0.4307],
[ 0.6389,  0.5660,  0.1582,  0.5701,  0.1614],
[ 0.1717,  0.4071,  0.4960,  0.2127,  0.5587],
[ 0.9529,  0.2865,  0.6667,  0.7401,  0.3372]])
张量([[0.6300,0.5352],
[ 0.5660,  0.1582]])

如您所见,2x2矩阵是从
t

中裁剪出来的,我使用这个符号得到了解决方案

img[:, :, y:y+height, x:x+width]

因此,输出将是一个调整大小的火炬图像。感谢

在此基础上添加,在处理2d图像时,张量通常是4d
[批次、特征、宽度、高度]
,因此您需要切片
t[:,:,宽度,高度]
t[…,宽度,高度]
(等效符号)。