PIL中的Image和numpy中的数组array相互转换

摘要:
1.PILimage转换成arrayimg=np.asarray需要注意的是,如果出现read-only错误,并不是转换的错误,一般是你读取的图片的时候,默认选择的是"r","rb"模式有关。

1. PIL image转换成array

     img = np.asarray(image)

需要注意的是,如果出现read-only错误,并不是转换的错误,一般是你读取的图片的时候,默认选择的是"r","rb"模式有关。

修正的办法: 手动修改图片的读取状态

  img.flags.writeable = True  # 将数组改为读写模式

2. array转换成image

Image.fromarray(np.uint8(img))

参考资料:

http://stackoverflow.com/questions/384759/pil-and-numpy

免责声明:文章转载自《PIL中的Image和numpy中的数组array相互转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Html属性标签测试 Jumbo Frames下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# Byte[]数组读取和写入文件

protected void ByteToString_Click(object sender, EventArgs e) { string content = this.txtContent.Text.ToString(); if (string.IsNullO...

python科学计算_numpy_广播与下标

多维数组下标 多维数组的下标是用元组来实现每一个维度的,如果元组的长度比维度大则会出错,如果小,则默认元组后面补 : 表示全部访问; 如果一个下标不是元组,则先转换为元组,在转换过程中,列表和数组的转换有所不同。 一个列表会被转换成各个元素组成的元组,然后进行访问(此时如果不全为整数的话,则不会共享存储区域,因为无法通过改变步长来保持存储结构不变);如:l...

JavaScript中的Array

Array类型是ECMAScript 用的最多的类型了,ECMAScript中的数组每一项可以保存任何类型的数据,也就是说,数组的第一个项保存字符串,用第二个保存数值,用第三个位置来保存对象。二千数据的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。    1.创建数组数组的方式分为两种:        1.1使用 nwe 的方式     ...

Perl函数及参数介绍

子例程,函数  子例程,函数的作用域是指在程序中能够看到它的位置范围。子例程是全局的,可以放在脚本中的任意位置,甚至放在其他脚本文件中。当使用来自其他文件的子例程时,应当使用关键字do,require或use将它加载到脚本里。若要调用一个子例程,用户可以在子例程前加上&符号,或在子例程前加上do关键字,也可以在子例程名后面加上一组括号。如果使用了向...

ECMA Script 6_唯一容器 Set_映射容器 Map

唯一容器 Set ES6 提供了新的数据结构 Set Set 结构没有键名,只有键值(或者说 键名 和 键值 是同一个值) 它类似于数组,但是成员的值都是唯一的,没有重复的值 Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”, NaN 等于自身 它类似于精确相等运算符(===),而 精确相等运算符 认为NaN...

vue调用组件,组件回调给data中的数组赋值,报错Invalid prop type check failed for prop value. Expecte

报错信息: 代码信息:调用一个tree组件,选择一些信息 <componentsTree ref="typeTreeComponent"   @treeCheck="treeCheck"   :isClearAllChecked=true   :defaultProps="defaultProps"> </componentsTree&...