Python 实现Image和Ndarray互相转换


Posted in Python onFebruary 19, 2020

如下所示:

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 相关文章推荐
python不带重复的全排列代码
Aug 13 Python
教你如何在Django 1.6中正确使用 Signal
Jun 22 Python
Python表示矩阵的方法分析
May 26 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
Django高级编程之自定义Field实现多语言
Jul 02 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 Python
Python unittest生成测试报告过程解析
Sep 08 Python
对Pytorch 中的contiguous理解说明
Mar 03 Python
python爬虫之爬取笔趣阁小说
Apr 22 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 Python
Python中的 No Module named ***问题及解决
Jul 23 Python
python3+opencv生成不规则黑白mask实例
Feb 19 #Python
使用celery和Django处理异步任务的流程分析
Feb 19 #Python
Python Numpy,mask图像的生成详解
Feb 19 #Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 #Python
Python中logging日志库实例详解
Feb 19 #Python
在Python中通过threshold创建mask方式
Feb 19 #Python
python实现简单颜色识别程序
Feb 19 #Python
You might like
adodb与adodb_lite之比较
2006/12/31 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
基于jQuery的图片剪切插件
2011/08/03 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python常见工厂函数用法示例
2018/03/21 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
python操作kafka实践的示例代码
2019/06/19 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
生日邀请函范文
2014/01/13 职场文书
给老师的检讨书
2014/02/11 职场文书
创先争优一句话承诺
2014/05/29 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
2014年干部作风建设总结
2014/10/23 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
Python+Tkinter打造签名设计工具
2022/04/01 Python
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技
SQL SERVER中的流程控制语句
2022/05/25 SQL Server