admin 管理员组文章数量: 887039
TypeError: Cannot handle this data type: (1, 1, 28),
PIL和numpy相互转换方式如下:
from PIL import Image#PIL image转成numpy
np_img = np.asarray(PIL_img) #参数时PIL类型的图片
或
np_img = np.array(PIL_img)#将array准成PIL image
Image.fromarray(np.uint8(np_img))
但是直接用Image.fromarray(np.uint8(data))转换会报错:TypeError: Cannot handle this data type: (1, 1, 28), |u1,为啥啊,我哭了,在网上搜了一圈也没找到答案,然后我从可以转换成功的代码入手,终于发现问题了,太难了也!
原来,PIL需要的格式是(W,H,C),而SVHN数据集的格式是(C,W,H)所以又要进行转换了,把(C,W,H)变为(W,H,C):
img.transpose(1,2,0)
然后,就可以愉快的转换了!
本文标签: TypeError Cannot handle this data type (1 1 28)
版权声明:本文标题:TypeError: Cannot handle this data type: (1, 1, 28), 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1696794558h257927.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论