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生态圈图像格式转换问题(推荐)
在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图片转换成矩阵,矩阵数据转换成图片的实例
如下所示: # 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以及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)按行进行倒序排列:
随机推荐
- iOS中lebel特殊字符的自动换行问题解决
- 浅谈php serialize()与unserialize()的用法
- JavaScript 数组的深度复制解析
- 关于Vue.js一些问题和思考学习笔记(1)
- 用 win2003 架设共享服务器 的图文教程第1/3页
- Python学习笔记之常用函数及说明
- javaScript基础详解
- asp.net访问Access数据库溢出错误
- Codeigniter实现智能裁剪图片的方法
- Android自定义View之自定义评价打分控件RatingBar实现自定义星星大小和间距
- js判断手机系统是android还是ios
- asp 常用函数用法
- jquery实现美观的导航菜单鼠标提示特效代码
- jquery+css实现绚丽的横向二级下拉菜单-附源码下载
- webpack处理 css\less\sass 样式的方法
- Bootstrap前端开发案例一
- C++中回调函数(CallBack)的用法分析
- Java Process详解及实例
- PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
- Android图片处理工具类BitmapUtils