当前位置: 首页 > 编程笔记 >

Python 实现Image和Ndarray互相转换

舒枫涟
2023-03-14
本文向大家介绍Python 实现Image和Ndarray互相转换,包括了Python 实现Image和Ndarray互相转换的使用技巧和注意事项,需要的朋友参考一下

如下所示:

import numpy as np
from PIL import Image

img = Image.open(filepath)
img_convert_ndarray = np.array(img)
ndarray_convert_img= Image.fromarray(img_convert_ndarray )


# np.array(object) 这个函数很强大啊,看源码里面给的注释
# object : array_like
#      An array, any object exposing the array interface, an object whose
#      __array__ method returns an array, or any (nested) sequence.

而keras里面也有api来做这样的转换

from keras.preprocessing.image import img_to_array, array_to_img

然而查看源码的时候,其实会发现这两个函数仍然还是用同样的方式实现

img_to_array() 是使用np.asarray(),而array_to_img是使用Image.fromarray()

多说一句,np.array()是创建一个ndarray,而np.asarray(object)是将一个object转换成ndarray,但是

np.asarray(a):
  return np.array(a,copy=False)

# 而np.array()里copy默认为True,那这有什么区别呢?
import html" target="_blank">numpy as np

  a = np.array([1, 2])
  b = np.asarray(a)
  c = np.asarray(a)
  print(type(b), type(c), b is c) # True
  e = np.array(a)
  f = np.array(a)
  print(type(e), type(f), e is f) # False

  a = [1, 2]
  b = np.asarray(a)
  c = np.asarray(a)
  print(type(b), type(c), b is c) # False
  e = np.array(a)
  f = np.array(a)
  print(type(e), type(f), e is f) # False

以上这篇Python 实现Image和Ndarray互相转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍JavaScript字符和ASCII实现互相转换,包括了JavaScript字符和ASCII实现互相转换的使用技巧和注意事项,需要的朋友参考一下 在处理字符时,有时需要和ASCII码相互转换,博主便简单整理了一篇。 字符转ASCII 需要用变量的方法(js自带函数)。 单个字符转ASCII let x = 'a'; x.charCodeAt(); //会输出'a'的ASCII码,即9

  • 本文向大家介绍Python 实现list,tuple,str和dict之间的相互转换,包括了Python 实现list,tuple,str和dict之间的相互转换的使用技巧和注意事项,需要的朋友参考一下 1、字典(dict) 1.1 字典——字符串 返回: 1.2 字典——元组 返回:(‘age', ‘name', ‘class') 1.3 字典——元组 返回:(7, ‘Zara', ‘First

  • 本文向大家介绍python实现字符串和日期相互转换的方法,包括了python实现字符串和日期相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现字符串和日期相互转换的方法。分享给大家供大家参考。具体分析如下: 这里用的分别是time和datetime函数 输出结果为: 符: %a 英文星期简写 %A 英文星期的完全 %b 英文月份的简写 %B 英文月份的完全 %c

  • 本文向大家介绍python实现文件路径和url相互转换的方法,包括了python实现文件路径和url相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现文件路径和url相互转换的方法。分享给大家供大家参考。具体实现方法如下: 运行结果如下: path\to\file\or\folder\ 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍tensor和numpy的互相转换的实现示例,包括了tensor和numpy的互相转换的实现示例的使用技巧和注意事项,需要的朋友参考一下 要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下面一个小程序讲述了将tensor转化为numpy数组,以及又重

  • 本文向大家介绍Java实现String与StringBuilder相互转换,包括了Java实现String与StringBuilder相互转换的使用技巧和注意事项,需要的朋友参考一下 String类型是Java中的一个类,它用来表示一组字符。 Java中的字符串是不可变的,一旦创建,就不能更改字符串的值。 由于字符串是不可变的,因此如果您尝试重新分配字符串的值。它的引用将指向新的String对象,