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图片转换成矩阵,矩阵数据转换成图片的实例
如下所示: # coding=gbk from PIL import Image import numpy as np # import scipy def loadImage(): # 读取图片 im = Image.open("lena.jpg") # 显示图片 im.show() im = im.convert("L") data = im.getdata() data = np.matrix(data) # print data # 变换成512*512 d
-
Python生态圈图像格式转换问题(推荐)
在Python生态圈里,最常用的图像库是PIL--尽管已经被后来的pillow取代,但因为pillow的API几乎完全继承了PIL,所以大家还是约定俗成地称其为PIL.除PIL之外,越来越多的程序员习惯使用openCV来处理图像.另外,在GUI库中,也有各自定义的图像处理机制,比如wxPyton,定义了wx.Image做为图像处理类,定义了wx.Bitmap做为图像显示类. 下图梳理出了PIL读写图像文件.cv2读写图像文件.PIL对象和cv2对象互转.PIL对象和wx.Image对象互转.以及
-
Python实现字符串与数组相互转换功能示例
本文实例讲述了Python实现字符串与数组相互转换功能.分享给大家供大家参考,具体如下: 字符串转数组 str = '1,2,3' arr = str.split(',') print a 运行结果: 数组转字符串 #方法1 arr = ['a','b'] str1 = ','.join(arr) print str1 #方法2 arr = [1,2,3] #str = ','.join(str(i) for i in arr)#此处str命名与str函数冲突! str2 = ','.join(
-
Python图像灰度变换及图像数组操作
使用python以及numpy通过直接操作图像数组完成一系列基本的图像处理 numpy简介: NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量.矩阵.图像等)以及线性代数函数. 数组对象可以实现数组中重要的操作,比如矩阵乘积.转置.解方程系统.向量乘积和归一化.这为图像变形.对变化进行建模.图像分类.图像聚类等提供了基础. 在上一篇python基本图像操作中,当载入图像时,通过调用 array() 方法将图像转换成NumPy的数组对象
-
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 objec
-
NDArray 与 numpy.ndarray 互相转换方式
目录 NDArray与numpy.ndarray互相转换 NumPy与ndarray简介 NumPy简介 数组ndarray NDArray与numpy.ndarray互相转换 import numpy as np from mxnet import nd # numpy.ndarray 变 mx.NDArray np_val = np.array([1, 2, 3]) # 定义一个numpy.ndarray nd_val = nd.array(np_val) # 深复制 # NDArray 变
-
python妙用之编码的转换详解
前言 记得刚入门那个时候,自己处理编码转换问题往往是"百度:url解码.base64加密.hex--",或者是使用一款叫做"小葵多功能转换工具"的软件,再后来直接上Burpsuite的decoder功能,感觉用的还挺好的.不过,也遇到些问题:在线转换效率低(搜索占去了2/3的时间).两款工具存在一些小问题,比如burp中涉及中文往往显示乱码. 直到使用python来作为我日常编码转换工具-- 开启py转换之旅 url编码 url编码是一种浏览器用来打包表单输入的格式
-
python实现unicode转中文及转换默认编码的方法
本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8"转换为中文,实际上这是unicode的中文编码.可用以下方法转换: 1. >>> s = u'\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8' >>> print s 人生苦短,
-
python使用PythonMagick将jpg图片转换成ico图片的方法
本文实例讲述了python使用PythonMagick将jpg图片转换成ico图片的方法.分享给大家供大家参考.具体分析如下: 这里使用到了PythonMagick模块,关于PythonMagick模块和ImageMagick的详细信息请参考:http://www.imagemagick.org/. 下面这段代码可以讲jpg图片转换成ico图标格式. # -*- coding: utf-8 -*- import PythonMagick img = PythonMagick.Image("c:/
-
python 列表,数组,矩阵两两转换tolist()的实例
通过代码熟悉过程: # -*- coding: utf-8 -*- from numpy import * a1 =[[1,2,3],[4,5,6]] #列表 print('a1 :',a1) #('a1 :', [[1, 2, 3], [4, 5, 6]]) a2 = array(a1) #列表 -----> 数组 print('a2 :',a2) #('a2 :', array([[1, 2, 3],[4, 5, 6]])) a3 = mat(a1) #列表 ----> 矩阵 print(
-
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns
-
python字符串与url编码的转换实例
主要应用的场景 爬虫生成带搜索词语的网址 1.字符串转为url编码 import urllib poet_name = "李白" url_code_name = urllib.quote(poet_name) print url_code_name #输出 #%E6%9D%8E%E7%99%BD 2.url编码转为字符串 import urllib url_code_name = "%E6%9D%8E%E7%99%BD" name = urllib.unquote(
-
Python实现点阵字体读取与转换的方法
点阵字体是指根据文字的像素点来显示的字体,效果如下: 使用Python读取并显示的过程如下: 根据中文字符获取GB2312编码 通过GB2312编码计算该汉字在点阵字库中的区位和码位 通过区位和码位计算在点阵字库中的偏移量 基于偏移量获取该汉字的32个像素存储字节 解析像素字节获取点阵坐标信息 在对应的坐标显示信息位.如该像素点是否显示点亮 使用该代码前提:下载点阵字体库到本地,这里默认使用的是hzk16点阵字库 代码如下: #!/usr/bin/python #encoding: utf-8
-
Python中 CSV格式清洗与转换的实例代码
题目: CSV格式清洗与转换 描述 附件是一个CSV格式文件,提取数据进行如下格式转换: (1)按行进行倒序排列:
随机推荐
- SQL计算timestamp的差值的方法
- cmos下屏蔽intel Q35主板E-SATA接口的设置图文
- bat文件加密 bat解密脚本(让bat乱码现形)
- this.clientWidth和this.offsetWidth两个有什么不同
- jQuery实现倒计时跳转的例子
- PHP运行模式汇总
- c# 类型构造器
- 浅谈C++中char型变量的地址输出
- MySQL服务器的启动和关闭
- PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
- mysql中You can’t specify target table for update in FROM clause错误解决方法
- HTML,CSS,JavaScript速查表推荐
- jQuery.Callbacks()回调函数队列用法详解
- CentOS 5.4 Kloxo安装详细说明
- java随机抽取指定范围内不重复的n个数
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- 深入解析int(*p)[]和int(**p)[]
- 在Windows系统上安装PHP运行环境文字教程
- XP的局域网互访
- Spring Boot 配置大全(小结)