numpy tensor 维度变换

 执行以下代码就可以把

torch.Size([1, 3, 544, 704])转换numpy形式啦,因为源代码中torch_to_np就已经定义的去掉第四维了。
v3 = torch_to_np(v)

print(v3.shape)
print(type(v3))
torch.Size([1, 3, 544, 704])
(3, 544, 704)

(3, 544, 704)

 下面是是返回颜色空间的报错

ValueError                                Traceback (most recent call last)
 in 
     40 print(type(v3))
     41 
---> 42 u = Trans_OCt(out3)
     43 v = Trans_OCt(v3)
     44 

~\Desktop\LRTNN+DIP\ADMM-DIPTV-master\utils\color_trans.py in Trans_OCt(img)
     50     b = math.sqrt(3)**(-1)
     51     c = math.sqrt(6)**(-1)
---> 52     (B, G, R) = cv.split(img)
     53 
     54     Ct = cv.merge([a*R + c*G + b*B, - a*R + c*G + b*B, - 2*c*G+ b*B])

ValueError: not enough values to unpack (expected 3, got 1)

还需要把numpy数组的维度换一下才行。修改代码为

out1 = torch_to_np(out).astype(np.uint8)
out2 = out1.transpose(1,2,0)
print(out2.shape)
print(type(out2))

 终于转过来了

torch.Size([1, 3, 544, 704])
(544, 704, 3)

 转换之后,代码可以运行了, 图像也出来了,但是显示图像是全黑的。

numpy tensor 维度变换_第1张图片

 

你可能感兴趣的:(numpy,python)