numpy叠加图像通道
光流法产生x和y方向两张灰度图像,目前想到的将其输入神经网络的方法是将其叠加成三通道的RGB图像,第三个通道全为0。用opencv读取图像,读取的图像以np.array形式存在,数据类型是np.uint8。
import numpy as np
import cv2
x=cv2.imread('x.jpg',0) #0表示以灰度读取,若设置为1则以RGB方式读取,三个通道都是灰度图像的复制
y=cv2.imread('y.jpg',0)
z=np.zeros([x.shape[0],x.shape[1]]) #构建一个同样大小的第三通道
img=np.array([y,x,z]) #合成三通道图像, 此时数组的尺寸是3*224*224,我们需要的是224*224*3
img=img.transpose(1,2,0).astype(np.uint8) #调换数组的纬度次序,注意要指定数据类型为uint8,否则转换后的图像显示不正确
cv2.imshow('1',img)
cv2.waitKey(0)
参考
[1] python、PyTorch图像读取与numpy转换
https://blog.csdn.net/yskyskyer123/article/details/80707038
[2] Pytorch 保存模型生成图片
https://blog.csdn.net/wzy_zju/article/details/80778551
评论
发表评论