我正在尝试加载从Tensorflow导出的.mat图像Scipy.io公司使用OpenCV。在
我可以修改Tensorflow代码直接导出只有3个通道的.mat图像,但我会丢失很多数据,甚至看起来都不正确。在
这就是为什么我要按原样输出原始数据。在
在我的例子中,我用scipy.io公司得到像这样的纽比阵列
(640640640128)
我想重塑它,因为OpenCV无法加载128个通道的图像。在
(640,640)
我没有完全理解重塑的概念,我认为我做错了。在
我得到了这个错误:
ValueError: cannot reshape array of size 52428800 into shape (640,640,3)
谢谢你,祝你今天愉快
海瑟姆
编辑1: 这就是密码:
import cv2
import scipy.io as sio
import numpy as np
matfile = 'docia.mat'
img = sio.loadmat(matfile)
img_reshaped = img['embedmap'].reshape(640, 640, 3)
cv2.imshow("segmented_map", img['embedmap'])
cv2.waitKey(0)`
当您希望保留所有数据但形状不同时,使用重新成形。我相信你是在试图放弃128个频道中的125个。为此,您只需使用索引来获取前3个频道:
另外,您传递的是img['embeddap'],而不是将经过整形的img_重新整形到cv2.imshow()中。在
尽管我建议你用灰色比例尺逐一查看。在
^{pr2}$相关问题 更多 >
编程相关推荐