精华内容
下载资源
问答
  • 在利用训练好的模型进行物体识别时,输入的图像进行数据转换时遇到问题: 接下来讲的是np.expand_dims函数的作用和用法,是用来调整数组维度的。 比如有一个二维数组data(1,2),但是你需要输入3维数组,然后你就...

    在利用训练好的模型进行物体识别时,输入的图像进行数据转换时遇到问题:
    在这里插入图片描述
    接下来讲的是np.expand_dims函数的作用和用法,是用来调整数组维度的。
    比如有一个二维数组data(1,2),但是你需要输入3维数组,然后你就需要把数据再加一维。但是需要选择加在哪一维。二维数组就有三个位置(0, 1,2)。注意axis的值是从0开始的
    代码:

    import numpy as np
    
    a = np.array([[[1,2,3],[4,5,6]]])
    print(a.shape)
    print('------------------------------------------------')
    # np.expand_dims(a, axis=0)表示在0位置添加数据
    b = np.expand_dims(a,axis=0)
    print(b.shape)
    print('------------------------------------------------')
    # np.expand_dims(a, axis=1)表示在1位置添加数据
    c = np.expand_dims(a,axis=1)
    print(c.shape)
    print('------------------------------------------------')
    # np.expand_dims(a, axis=2)表示在2位置添加数据
    d = np.expand_dims(a,axis=2)
    print(d.shape)
    print('------------------------------------------------')
    # np.expand_dims(a, axis=3)表示在3位置添加数据
    e = np.expand_dims(a,axis=3)
    print(e.shape)
    print('------------------------------------------------')
    
    

    运行结果:

    (1, 2, 3)
    ------------------------------------------------
    (1, 1, 2, 3)
    ------------------------------------------------
    (1, 1, 2, 3)
    ------------------------------------------------
    (1, 2, 1, 3)
    ------------------------------------------------
    (1, 2, 3, 1)
    ------------------------------------------------
    
    
    展开全文
  • python、PyTorch图像读取与numpy转换

    万次阅读 2018-06-15 16:27:18
    numpy转换为Tensor torch.Tensor(numpy.darray) PIL.Image.Image转换成numpy np.array(PIL.Image.Image) numpy 转换成PIL.Image.Image Image.fromarray(numpy.ndarray) 首先需要保证n...

    Tensor转为numpy

    np.array(Tensor)

    numpy转换为Tensor

    torch.Tensor(numpy.darray)

    PIL.Image.Image转换成numpy

    np.array(PIL.Image.Image)

    numpy 转换成PIL.Image.Image

    Image.fromarray(numpy.ndarray)

    首先需要保证numpy.ndarray 转换成np.uint8型
    numpy.astype(np.uint8),像素值[0,255]。

    同时灰度图像保证numpy.shape为(H,W),不能出现channels
    这里需要np.squeeze()。彩色图象保证numpy.shape为(H,W,3)

    之后Image.fromarray(numpy.ndarray)

    PIL.Image.Image转换成Tensor

    torchvision.transfrom

    img=Image.open('00381fa010_940422.tif').convert('L')
    
    import torchvision.transforms as transforms
    trans=transforms.Compose([transforms.ToTensor()])
    
    a=trans(img)
    

    Tensor转化成PIL.Image.Image

    先转换成numpy,再转换成PIL.Image.Image

    灰度图像

    img=Image.open('00381fa010_940422.tif').convert('L')
    
    import torchvision.transforms as transforms
    trans=transforms.Compose([transforms.ToTensor()])
    
    a=trans(img)
    b=np.array(a)  #b.shape  (1,64,64)
    maxi=b.max()
    b=b*255./maxi
    b=b.transpose(1,2,0).astype(np.uint8)
    b=np.squeeze(b,axis=2)
    xx=Image.fromarray(b)
    xx
    

    彩色图象

    img2=Image.open('00381fa010_940422.tif').convert('RGB')
    import torchvision.transforms as  transforms
    trans=transforms.Compose([transforms.ToTensor()])
    a=trans(img2)
    a=np.array(a)
    maxi=a.max()
    a=a/maxi*255
    a=a.transpose(1,2,0).astype(np.uint8)
    b=Image.fromarray(a)
    b
    

    python-opencv

    import cv2
    a=cv2.imread('00381fa010_940422.tif') #a.shape (64,64,3)
    cv2.imwrite('asd.jpg',a)
    Image.fromarray(a)
    b=cv2.imread('00381fa010_940422.tif',0)#b.shape (64,64)
    Image.fromarray(b)
    

    cv2.imread()返回numpy.darray, 读取灰度图像之后shape为(64,64),RGB图像的shape为(64,64,3),可直接用Image.fromarray()转换成Image。


    cv写图像时,灰度图像shape可以为(H,W)或(H,W,1)。彩色图像(H,W,3)
    要从numpy.ndarray得到PIL.Image.Image,灰度图的shape必须为(H,W),彩色为(H,W,3)

    对于Variable类型不能直接转换成numpy.ndarray,需要用.data转换

    np.array(a.data)

    展开全文
  • 今天小编就为大家分享一篇python、PyTorch图像读取与numpy转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 Tensor转为numpy np.array(Tensor) numpy转换为Tensor torch.Tensor(numpy....

    今天小编就为大家分享一篇python、PyTorch图像读取与numpy转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    Tensor转为numpy

    np.array(Tensor)

    numpy转换为Tensor

    torch.Tensor(numpy.darray)

    PIL.Image.Image转换成numpy

    np.array(PIL.Image.Image)

    numpy 转换成PIL.Image.Image

    Image.fromarray(numpy.ndarray)

    首先需要保证numpy.ndarray 转换成np.uint8型

    numpy.astype(np.uint8),像素值[0,255]。

    同时灰度图像保证numpy.shape为(H,W),不能出现channels

    这里需要np.squeeze()。彩色图象保证numpy.shape为(H,W,3)

    之后Image.fromarray(numpy.ndarray)

    PIL.Image.Image转换成Tensor

    torchvision.transfrom

    img=Image.open('00381fa010_940422.tif').convert('L')
     
    import torchvision.transforms as transforms trans=transforms.Compose([transforms.ToTensor()])
     
    a=trans(img)
    

    Tensor转化成PIL.Image.Image

    先转换成numpy,再转换成PIL.Image.Image

    灰度图像

    mg=Image.open('00381fa010_940422.tif').convert('L')
     
    import torchvision.transforms as transforms
    trans=transforms.Compose([transforms.ToTensor()])
     
    a=trans(img)
    b=np.array(a) #b.shape (1,64,64)
    maxi=b.max()
    b=b*255./maxi
    b=b.transpose(1,2,0).astype(np.uint8)
    b=np.squeeze(b,axis=2)
    xx=Image.fromarray(b)
    xx
    

    彩色图象

    img2=Image.open('00381fa010_940422.tif').convert('RGB')
    import torchvision.transforms as transforms
    trans=transforms.Compose([transforms.ToTensor()])
    a=trans(img2)
    a=np.array(a)
    maxi=a.max()
    a=a/maxi*255
    a=a.transpose(1,2,0).astype(np.uint8)
    b=Image.fromarray(a)
    b
    

    python-opencv

    import cv2
    a=cv2.imread('00381fa010_940422.tif') #a.shape (64,64,3)
    cv2.imwrite('asd.jpg',a)
    Image.fromarray(a)
    b=cv2.imread('00381fa010_940422.tif',0)#b.shape (64,64)
    Image.fromarray(b)
    

    cv2.imread()返回numpy.darray, 读取灰度图像之后shape为(64,64),RGB图像的shape为(64,64,3),可直接用Image.fromarray()转换成Image。

    cv写图像时,灰度图像shape可以为(H,W)或(H,W,1)。彩色图像(H,W,3)

    要从numpy.ndarray得到PIL.Image.Image,灰度图的shape必须为(H,W),彩色为(H,W,3)

    对于Variable类型不能直接转换成numpy.ndarray,需要用.data转换

    np.array(a.data)
    写到这里,给大家推荐一个资源很全的python学习聚集地,点击进入,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节
    以上这篇python、PyTorch图像读取与numpy转换实例就是小编分享给大家的全部内容了

    展开全文
  • pil numpy转换二值图

    2020-11-06 00:06:14
    import numpy as np data = np.ones((16, 16), dtype=np.uint8) # 创建一个全1的数组 data = data * 255 #get Binary_map Binary_map = np.expand_dims(np.asarray(data), 2) temp_Binary_map = np.concatenate...

    numpy转pil

    from PIL import Image
    import numpy as np
     
    data = np.ones((16, 16), dtype=np.uint8)   # 创建一个全1的数组
    data = data * 255     
     
    #get Binary_map
    Binary_map = np.expand_dims(np.asarray(data), 2)
    temp_Binary_map = np.concatenate((Binary_map.copy(), Binary_map.copy()), axis=2)
    Binary_map = np.concatenate((temp_Binary_map.copy(), Binary_map), axis=2)
     
    Binary_map = Binary_map.astype(np.uint8)
     
    img = Image.fromarray(Binary_map,mode='RGB')
    # img.show()
    img = img.convert('1')
    # img.show()
    img.save(name_path)

    pil转numpy

    注释的代码不对,RGB的格式可以。

    img =Image.new('RGB', (width, height), 'white')
    # img = Image.new('1', (width, height), 1)

     

    展开全文
  • numpy.mean - axis=0 - axis=1

    2020-06-07 18:36:33
    numpy.mean - axis=0 - axis=1 numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>) 算术平均值是沿轴的元素的总和除以元素的数量。 Compute the arithmetic mean along the specified axis...
  • What is the best way to convert a vector to a 2-... it's worth remembering that you can use -1 for (at most) one axis to have NumPy figure out what the correct length should be instead: b.reshape(-1, 1)
  • numpy和torch转换

    2021-01-18 20:54:34
    numpy和pytorch的常用函数的比较以及数据之间的转换
  • numpy二进制转换和范围缩放

    千次阅读 2018-11-08 14:21:23
    numpy二进制转换和范围缩放 觉得有用的话,欢迎一起讨论相互学习~Follow Me 一维二进制转换 import numpy as np # 一维二进制数组转换 a=np.array([0,1,1,0,1,1]) #[1,6] print(a.shape) # (6,) # 转换算子 Bi_conver...
  • 本文介绍numpy的数组转换、合并分割、去重的函数用法 严谨补充:对于上一篇的代码展示,疏漏了对导入numpy模板的代码,在此补充说明,若有疏漏不严谨之处,请指出交流谢谢。 import numpy as np 接着上篇numpy...
  • I have some data which is stored as a numpy array with dtype=object, and I would like to extract one column of lists and convert it to a numpy array. It seems like a simple problem, but the only way ....
  • NumPy

    千次阅读 多人点赞 2019-10-21 09:07:32
    文章目录NumPyNumPy数组对象NumPy数据类型NumPy数组运算NumPy索引和切片NumPy数组组合NumPy数组的属性NumPy数组的转换NumPy通用函数NumPy数据处理NumPy线性代数NumPy随机数NumPy例子 NumPy数组对象 NumPy中的...
  • 利用PIL将numpy数组转换成二值图 思路,可以先把二维数组在通道方向进行扩展,然后转化成rgb图,再转化成二值图。 直接转化,我不知道为什么不行。这里也只是一个权宜之计,哪位高手有更好的方式可以探讨探讨! ...
  • Python numpy.transpose 详解(axis坐标轴变换)

    千次阅读 多人点赞 2018-12-13 13:27:13
    文章“Python numpy.transpose 详解”(https://blog.csdn.net/u012762410/article/details/78912667 )中,对transpose的原理进行了解释,但在...看Python代码时,碰见 numpy.transpose 用于高维数组时挺让人费解...
  • 一、PIL库读取图片后类型示例 from PIL import Image img=Image.open("./1.png") print("类型:",type(img)) ...二、PIL库读取图片后Image类型转换numpy 为了方便显示长宽我们换一张长宽不相等的图 from PIL im
  • Numpy

    千次阅读 多人点赞 2018-07-24 21:26:36
    NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,...# 将列表转换为数组 b = np.array(b)...
  • numpy与tensor相互转换

    千次阅读 2019-06-08 10:54:35
    numpy转tensor a = np.zeros((3, 3)) ta = tf.convert_to_tensor(a) with tf.Session() as sess: print(sess.run(ta)) tensor转numpy import tensorflow as tf img1 = tf.constant(value=[[[[1],[2],[3],[4]],[[.....
  • tensor 和 numpy 的互相转换

    千次阅读 2018-12-13 10:31:09
    要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下面一个小程序讲述了将tensor转化为numpy数组,...
  • numpy格式转换相关命令 1.1 np.squeeze()——从数组的形状中删除单维度条目,即把shape中为1的维度去掉 格式:np.squeeze(a,axis=None) ​ 1.a表示输入的数组; ​ 2.axis用于指定需要删除的维度,但是指定的维度...
  • numpy

    2020-02-09 09:11:18
    如果你使用 Python 语言进行科学计算,那么一定会接触到 NumPyNumPy 是支持 Python 语言的数值计算扩充库,其拥有强大的多维数组处理与矩阵运算能力。除此之外,NumPy 还内建了大量的函数,方便你快速构建数学模型...
  • 将pandas数据框转换NumPy数组

    千次阅读 2020-05-19 09:07:34
    I am interested in knowing how to convert a pandas dataframe into a NumPy array. 我对知道如何将熊猫数据框转换为Num
  • (1)将矩阵转换为列表的函数:numpy.matrix.tolist() (2)将数组转换为列表的函数:numpy.ndarray.tolist() (3)numpy.mean()计算矩阵或数组的均值: (4)numpy.std()计算矩阵或数组的标准差: (5)numpy....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,992
精华内容 13,196
关键字:

numpy转换axis