Python 实现Image和Ndarray互相转换
更新时间:2020年02月19日 10:18:04 作者:GZHermit
今天小编就为大家分享一篇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 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互相转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python用WxPython库实现无边框窗体和透明窗体实现方法详解
这篇文章主要介绍了python用WxPython库实现无边框窗体和透明窗体实现方法详解,需要的朋友可以参考下2020-02-02
详解如何使用Python处理INI、YAML和JSON配置文件
在软件开发中,配置文件是存储程序配置信息的常见方式,INI、YAML和JSON是常用的配置文件格式,各自有着特定的结构和用途,Python拥有丰富的库和模块,本文将重点探讨如何使用Python处理这三种格式的配置文件,需要的朋友可以参考下2023-12-12
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
这篇文章主要介绍了详解Django项目中模板标签及模板的继承与引用【网站中快速布置广告】,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-03-03


最新评论