前言

有时我们使用PIL库读入图像数据后需要查看图像数据的维度,比如shape,或者有时我们需要对图像数据进行numpy类型的处理,所以涉及到相互转化,这里简单记录一下。

方法

当使用PIL.Image.open()打开图片后,如果要使用img.shape函数,需要先将image形式转换成array数组。

import numpy as np
from PIL import Image
im  =  Image.open("test.png")  #读入图片数据
img =  numpy.array(im)  #转换为numpy

此时例如要处理加入椒盐噪声,这时使用numpy数组进行处理:

for k in range(n):i = int(numpy.random.random() * img.shape[1]);j = int(numpy.random.random() * img.shape[0]);if img.ndim == 2:img[j,i] = 255elif img.ndim == 3:img[j,i,0]= 255img[j,i,1]= 255img[j,i,2]= 255

最后将array转化为image形式

img = Image.fromarray(img.astype('uint8')).convert('RGB')

Reference:

图像处理之PIL.Image与numpy.array之间的相互转换_Python_欢迎光临啊噗不是阿婆主的酒馆-CSDN博客​blog.csdn.net

c# image转换为bitmap_Python PIL.Image与numpy.array之间的相互转换相关推荐

  1. python通过fancy indexing把数组转换为one hot编码的numpy array

    背景 实现一维numpy数组 a = array([1,0,3]) 转换为2维的 1-hot数组 b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]]) python ...

  2. 一文看懂所有图像与numpy矩阵(三维、四维均包含)之间的相互转换

    图像与numpy矩阵之间的相互转换: 1.RGB–>灰度图: from PIL import Image # 加载RGB图片 I = Image.open('/home/timg.jpg') I ...

  3. matplotlib figure转为numpy array或者PIL图像进行显示

    matplotlib figure转为numpy array或者PIL图像进行显示 实现将matplotlib绘制的图像转换为numpy数组,并使用PIL或者OpenCV进行显示 参考资料:http: ...

  4. RGB图片转换为灰度图片,以及图像和numpy矩阵之间的转换

    1. 转换一张图片RGB==> 灰度图(一维) from PIL import Image# 加载RGB图片 I = Image.open('/home/timg.jpg') I.show() ...

  5. PIL.Image convert to numpy array

    当使用PIL.Image读取图像时,如果直接使用numpy.array()转换会出现错误: lst = list() for file_name in os.listdir(dir_image):im ...

  6. Numpy.array()详解 、np.array与np.asarray辨析、 np.array和np.ndarry的区别

    记录一下numpy.array()的详细用法,以及与np.asarray()和np.ndarray()的区别. 目录 1. Numpy.array()详解 1.1 函数形式 1.2 参数详解 1.3 ...

  7. UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tenso

    UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensor ...

  8. numpy.array知识大全

    numpy.array知识大全 numpy.array()的作用 numpy.array()知识点总结 numpy 的数据调用 numpy.array()的数据类型 numpy.array()的计算 ...

  9. python ndarray find_在列表中查找numpy数组的索引(Find index of numpy array in list)

    在列表中查找numpy数组的索引(Find index of numpy array in list) 有人可以解释为什么发生以下情况? 我的用例是我有一个python列表,其元素都是numpy nd ...

最新文章

  1. 行业洞见 | 一文了解自动驾驶汽车
  2. 第三次小组实践作业小组每日进度汇报:2017-12-8
  3. Nginx主主负载均衡架构
  4. 互联网职场就像一场《鱿鱼游戏》
  5. java 生成校验验证码_java 验证码生成与校验
  6. mysqlbinlog工具_MySQL binlog相关分析
  7. 消息队列中间件的技术选型分析
  8. PRM–endRequest事件
  9. 常用jar包之commons-collection使用
  10. 基于SpringMVC国际化资源配置方式
  11. PHP找出专题下重复的商品数据
  12. Python每日一练(23)-基于百度 AI 识别抓取的表情包
  13. LM4766T/NOPB小秘密
  14. Defending Against Model Stealing Attacks with Adaptive Misinformation
  15. 文件上传解析器MultipartResolver
  16. 帝国Cms7.5后台getshell | (CVE-2018-18086)漏洞复现
  17. 电影《我不是药神》观后感
  18. 并行计算机概述--性能和评估标准
  19. ”网上花店” 专题页制作
  20. 第十四周 任务一

热门文章

  1. 重装vcenter后恢复原来制作的模板!
  2. ASP技巧:在Access数据库中重命名表
  3. python调用接口获取文件_python接口文件使用说明
  4. Zookeeper JavaApi 增删改查
  5. jQuery Mobile弹出对话框后不刷新原页面,保持原页面内容不变
  6. 介词at_介词逻辑| 离散数学
  7. mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法
  8. git 怎么查看合并过来哪些代码_git整理纷乱的历史合并记录
  9. freemarker的测试结果框架_java必背综合知识点总结(框架篇)
  10. python 向量取整数_随机整数向量| 使用Python的线性代数