精华内容
下载资源
问答
  • numpy数组保存为图片
    2022-06-16 18:45:37

    项目场景:pytorch生成图像

    描述:np数组保存图像,使用matplotlib

    下面展示一些 代码片

    import matplotlib
    matplotlib.image.imsave('name.png', array)
    #我的array是32*32*3
    

    问题描述

    疑惑:如果用PIL的话,会报错attributeerror: module 'pil.image' has no attribute 'formarray'
    不建议使用,也可能是我使用姿势不对

    from PIL import Image
    im = Image.fromarray(A)
    im.save("your_file.jpeg")
    

    疑惑:如果用PIL直接将tensor转为图像也有点问题'

    参考链接

    感谢:https://blog.csdn.net/zhuoyuezai/article/details/79635120

    更多相关内容
  • 第一种方案 可以使用scipy.misc,代码如下: import scipy.misc misc.imsave('out.jpg', image_array) 上面的scipy版本会标准化所有图像,以便min(数据)变成...给定一个numpy数组”A”: from PIL import Image im =
  • python 将 Numpy 数组保存为图像 - imagio: import numpy as np import imageio if __name__ == '__main__': np_array = np.zeros((512, 512, 3), dtype=np.uint8) np_array[200:300, 150:200, :] = 255 ...

    1. 将Numpy数组保存为图像

    2. 老版本的代码:

    import scipy.misc
    scipy.misc.imsave('outfile.jpg', image_array)
    

    3. 错误信息解决:

    DeprecationWarning: `imread` is deprecated!
    `imread` is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
    Use ``imageio.imread`` instead.
      This is separate from the ipykernel package so we can avoid doing imports until
    

    4. 新版本的代码:

    import numpy as np
    import imageio
    
    
    if __name__ == '__main__':
    
        np_array = np.zeros((512, 512, 3), dtype=np.uint8)
        np_array[200:300, 150:200, :] = 255
        imageio.imwrite(r'D:/temp/outfile.jpg', np_array)
    
    展开全文
  • Numpy数组保存为图像 https://blog.csdn.net/qq_37274615/article/details/79159468 有一个Numpy数组类型的矩阵,如何将它作为图像写入磁盘?任何格式的图像都行(PNG,JPEG,BMP ...)。 最佳解决办法 可以...

    将Numpy数组保存为图像

    https://blog.csdn.net/qq_37274615/article/details/79159468

     

    有一个Numpy数组类型的矩阵,如何将它作为图像写入磁盘?任何格式的图像都行(PNG,JPEG,BMP ...)。

     

    最佳解决办法

    可以使用scipy.misc,代码如下:

     
    1. import scipy.misc

    2. scipy.misc.imsave('outfile.jpg', image_array)

    上面的scipy版本会标准化所有图像,以便min(数据)变成黑色,max(数据)变成白色。如果数据应该是精确的灰度级或准确的RGB通道,则解决方案为:

     
    1. import scipy.misc

    2. scipy.misc.toimage(image_array, cmin=0.0, cmax=...).save('outfile.jpg')

     

    第二种解决办法

    使用PIL

    给定一个numpy数组"A":

     
    1. from PIL import Image

    2. im = Image.fromarray(A)

    3. im.save("your_file.jpeg")

    你可以用几乎任何你想要的格式来替换"jpeg"。有关格式详见here更多细节

     

    第三种办法

    纯Python(2& 3),没有第三方依赖关系的代码片段。

    此函数写入压缩的真彩色(每个像素4个字节)RGBA PNG。

     
    1. def write_png(buf, width, height):

    2. """ buf: must be bytes or a bytearray in Python3.x,

    3. a regular string in Python2.x.

    4. """

    5. import zlib, struct

    6.  
    7. # reverse the vertical line order and add null bytes at the start

    8. width_byte_4 = width * 4

    9. raw_data = b''.join(b'\x00' + buf[span:span + width_byte_4]

    10. for span in range((height - 1) * width_byte_4, -1, - width_byte_4))

    11.  
    12. def png_pack(png_tag, data):

    13. chunk_head = png_tag + data

    14. return (struct.pack("!I", len(data)) +

    15. chunk_head +

    16. struct.pack("!I", 0xFFFFFFFF & zlib.crc32(chunk_head)))

    17.  
    18. return b''.join([

    19. b'\x89PNG\r\n\x1a\n',

    20. png_pack(b'IHDR', struct.pack("!2I5B", width, height, 8, 6, 0, 0, 0)),

    21. png_pack(b'IDAT', zlib.compress(raw_data, 9)),

    22. png_pack(b'IEND', b'')])

    ...数据应直接写入以二进制打开的文件,如下所示:

     
    1. data = write_png(buf, 64, 64)

    2. with open("my_image.png", 'wb') as fd:

    3. fd.write(data)


     

    第四种办法

    matplotlib

     
    1. import matplotlib

    2.  
    3. matplotlib.image.imsave('name.png', array)

    适用于matplotlib 1.3.1,不确定更低的版本是否有效。文档:

     
    1. Arguments:

    2. *fname*:

    3. A string containing a path to a filename, or a Python file-like object.

    4. If *format* is *None* and *fname* is a string, the output

    5. format is deduced from the extension of the filename.

    6. *arr*:

    7. An MxN (luminance), MxNx3 (RGB) or MxNx4 (RGBA) array.

     

    python,image,numpy

     

    第五种办法

    如果使用matplotlib,也可以这样做:

     
    1. import matplotlib.pyplot as plt

    2. plt.imshow(matrix) #Needs to be in row,col order

    3. plt.savefig(filename)

    这将保存plot(而不是图像本身)。

    python,image,numpy

     

    第6种办法

    python的opencv(http://docs.opencv.org/trunk/doc/py_tutorials/py_tutorials.html)。

     
    1. import cv2

    2. import numpy as np

    3.  
    4. cv2.imwrite("filename.png", np.zeros((10,10)))

    如果你需要做更多的处理,而不是保存,这个库比较有用。

    参考文献

    展开全文
  • numpy数组保存为图像的几种方法

    千次阅读 2020-04-25 23:01:01
    0.给定一个numpy数组——image 1.使用opencv import cv2 cv2.imwrite("1.jpg", image) 2.使用PIL from PIL import Image im = Image.fromarray(image) im.save("1.jpg") 3.使用scipy.misc import scipy.misc scipy...
    0.给定一个numpy数组——image
    1.使用opencv
    import cv2
    cv2.imwrite("1.jpg", image)
    
    2.使用PIL
    from PIL import Image
    im = Image.fromarray(image)
    im.save("1.jpg")
    
    3.使用scipy.misc
    import scipy.misc
    scipy.misc.imsave('1.jpg', image)
    

    若数据应为精确的灰度级或准确的RGB通道,则:

    import scipy.misc
    scipy.misc.toimage(image, cmin=0.0, cmax=...).save('1.jpg')
    
    4.使用matplotlib
    import matplotlib
    matplotlib.image.imsave('1.png', image)
    

    参考:Saving a Numpy array as an image
    展开全文
  • python中将Numpy数组保存为图像

    千次阅读 2018-10-19 09:19:28
    第一种方案原文 可以使用scipy.misc,代码如下: import scipy.misc misc.imsave('out.jpg', image_array)...如果数据应该是精确的灰度级或准确的RGB通道,则解决方案: import scipy.misc misc.toimage(imag...
  • 如何将Numpy数组保存为图像

    万次阅读 多人点赞 2018-03-21 09:41:41
    阅读原文点我 最佳解决办法 可以使用scipy.misc,代码如下: import scipy.misc scipy.misc.imsave('outfile.jpg', image_...如果数据应该是精确的灰度级或准确的RGB通道,则解决方案: import scipy.misc...
  • numpy数组存入文件

    千次阅读 2021-09-09 23:00:46
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pbcWqI5i-1631199734397)(C:\Users\fylal\AppData\Roaming\Typora\typora-user-images\image-20210909230003954.png)] import numpy as np ...
  • numpy数组保存成png标签

    千次阅读 2022-03-11 16:42:46
    # 将图像一张一张抽出来保存成png标签 import numpy as np import SimpleITK as sitk import matplotlib.pyplot as plt import os from PIL import Image from tqdm import tqdm if __name__ == '__main__': ...
  • numpy数组图片互转

    千次阅读 2021-04-02 14:03:16
    load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名 .npy 的文件中。 savez() 函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二...
  • 【Python】将Numpy数组保存为图像

    千次阅读 2018-07-12 15:05:55
    点击阅读原文
  • 读取图片并转为numpy数组

    千次阅读 2020-05-15 11:07:48
    def read_img(img_name): img = Image.open(img_name) #将读取的图像变为numpy矩阵 np_img = np.array(img) # (224, 224, 3) """ 将3维变为4维矩阵,可以用reshape去做变换, 因为只有一张图片,可以加一个数组,...
  • 图像一般是二维数组,它们会被表示为NumPy数组数据结构。 2、首先我们来测试以下scipy模块自带的图像,代码如下图所示 import scipy.misc import matplotlib.pyplot as plt #装载已从scipy准备好的ndarray ascent = ...
  • 将二维numpy数组保存为单波段tif图

    千次阅读 2021-04-10 22:46:19
    import numpy as np shuzu = np.full((5, 5), 3.1) #生成一个5X5大小的矩阵,每一个值都是3.1 print(shuzu) # 创建tif文件 driver = gdal.GetDriverByName("GTiff") New_YG_dataset = driver.Create(r'F:\YG\...
  • 读取 cat.jpg 图片信息到 ![img]( numpy 数组https://img-mid.csdnimg.cn/release/static/image/mid/ask/072385664356161.jpg "#left") ,(1)数组行对称交换,保存生成新的图 片; (2)数组列对称交换,保存生成新的图片
  • 【python】保存Numpy数组为灰度图

    千次阅读 2020-03-16 16:31:53
    from PIL import Image #outPutImg 是npy数组 *255是因为数组中的元素非零即一 ...#"L"代表将图片转化灰度图 outputImg = outputImg.convert('L') outputImg.save('/Users/86187/Desktop/change_...
  • I am working with 2D floating-point numpy arrays that I would like to save to greyscale .png files with high precision (e.g. 16 bits). I would like to do this using the scikit-image skimage.io package...
  • 我不知道什么在二进制文件中写入时,np.asfortranarray()会避免这种情况,但是我进行了测试,不幸的是,我们需要在转写矩阵之前对矩阵进行转置,以在Fortran中进行正确的读取而没有任何其他顾虑(这意味着您可以给出实际...
  • numpy保存数组到txt

    千次阅读 2020-08-20 09:59:58
    numpy保存数组到txt with open('backbone_feature.txt', 'a') as f4: np.savetxt(f4, im23, delimiter='\t', newline='\n') f4.close() 其中delimiter=’\t’代表每个数字之间用空格分隔;newline=’\n’代表...
  • 我在前一篇文章中找到了答案:Saving a Numpy array as an image。唯一的问题是,使用PyPNG模块的指令不多。但我该怎么做呢?写下这样的错误:Traceback (most recent call last):File "", line 1, in File "/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,353
精华内容 6,141
关键字:

numpy数组保存为图片