Deep learning 如何将火炬图像分割为numpy图像
我正在研究一个问题,在这个问题中,我有坐标来像这样分割图像 X坐标、Y坐标、要裁剪区域的高度和宽度 所以,如果我有火炬图像获得使用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]) 输出:
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[…,宽度,高度]
(等效符号)。