最近在训练目标检测的网络,图片在输入网络时,会使用用到 PIL.Image 和 OpenCV 这两个库,这两个库在图像处理方面很多类似的地方,但是它们读取图片的格式却是不一样的,在这里记录一下两种格式互转的方法。

PIL.Image 转换成 OpenCV 格式

#方式一
#使用Python Imaging Library(PIL)读取图像 读取图片格式是RBG 这里将RGB->BGR
from scipy.misc import imread
im = imread(path)
im = im[:,:,::-1]#方式二 cv2.COLOR_RGB2BGR 控制颜色模式的转换。
import cv2
from PIL import Image
import np as np
im = Image.open(path)
im = cv2.cvtColor(np.asarray(im),cv2.COLOR_RGB2BGR)
#opencv读取图片的格式为RGB 这里RGB->BGR
#方式一
import cv2
from PIL import Image
im = cv2.imread(path)
im = im[...,::-1]
#方式二
import cv2
from PIL import Image
im = cv2.imread(path)
im = Image.fromarray(cv2.cvtColor(im,cv2.COLOR_BGR2RGB))

总结python不同库读取图片:
1.利用PIL中的Image函数读取出来不是array格式,这时候需要用 np.asarray() 或者np.array()函数,区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝。
2.调用scipy这个库读出来是图像是矩阵形式,并且按照(H,W,C)形式保存。
3.cv2.imread()读出来同样是array形式,但是如果是单通道的图,读出来的是三通道的。
4.matplotlib这个库时常被用来显示图片,matplotlib.image as mpimg 用于读取图片(array格式),格式为RGB。

python中使用不同库读取图像并相互转换相关推荐

  1. Python中常用图像处理库

    Python中常用图像处理库 文章目录 Python中常用图像处理库 1 OpenCV-Python 2 Numpy 3 matplotlib 4 skimage 5 PIL(Python Imagi ...

  2. python中nlp的库_用于nlp的python中的网站数据清理

    python中nlp的库 The most important step of any data-driven project is obtaining quality data. Without t ...

  3. 利用python中的csv库读写csv文件

    利用python中的csv库读写csv文件 python读写csv文件就我知道的方法有:1)利用csv库,2)利用读写txt文件的方式处理,3)利用numpy或pandas库处理 在这篇博客中,博主就 ...

  4. xml与python文件常用转换,读取图像

    文章目录 一.Python批量修改图片文件名和xml文件信息 二.python获取图像名称保存成一个txt文件 三.xml格式的label转换为yolo-darknet版的label 四.使用pyth ...

  5. 利用Python中的PIL库去处理图片

    利用Python处理图片,任选一张图片,用PIL抓取并显示图像轮廓. 安装PIL在cmd中输入 pip install pillow 今天我们所用到的原图为蕾姆的一张图片 下面就让我们看下Python ...

  6. python中nlp的库_单词袋简介以及如何在Python for NLP中对其进行编码

    python中nlp的库 by Praveen Dubey 通过Praveen Dubey 单词词汇入门以及如何在Python中为NLP 编写代码的简介 (An introduction to Bag ...

  7. python中的迭代库

    python中的迭代库为itertools,如果需要输出详细,需要使用类型工厂函数,如list,tuple将结果转换 itertools.product:product(A,B) 相当于((x, y) ...

  8. python中调用c库

    python中调用c库 2013-04-23 15:34:52|  分类: python核心编程 |  标签:python  makefile   |举报 |字号 订阅 参考地址:http://my. ...

  9. Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named...

    Python中,想要安装第三方安装包,即third library,package等,对于熟悉的人来说,很简单. 但是对于新手,至少对于之前的我,很难,往往只是安装一个很小的包,都被搞得一头雾水. 现 ...

最新文章

  1. 程序员面试金典 - 面试题 17.11. 单词距离(multimap平衡二叉搜索树)
  2. 1.4_select_sort_选择排序
  3. 华为获 25 份 5G 合同;ofo 退款用户数超千万;贾跃亭躲豪宅拒收法律文书 | 极客头条...
  4. 在线CSV转JSON工具
  5. 实验4-1-8 求给定精度的简单交错序列部分和 (15 分)
  6. 超实用!常用贴片三极管丝印与型号对照表
  7. PartialDependencePlots
  8. Easy Excel生成压缩包文件,自定义表头样式
  9. 如何通过Facebook主页找到相关红人的页面
  10. 2021年真无线蓝牙耳机排名:人气排名前十的蓝牙耳机推荐
  11. DownUnderCTF 2021 osint 赛后复现
  12. 无线产品认证logo
  13. # 标题Windows最强神器,WIN+R的最骚使用方法!
  14. Visual Studio 2010 简体中文旗舰、专业版(MSDN原版下载)
  15. 抖音 快手无人直播,云端推流详细教程
  16. 手动扎捆机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 计算机硬盘对考,在win7系统电脑中如何实现两块硬盘相互对拷
  18. 微信小程序setData给数组赋值问题
  19. PHPCMS任意文件下载之exp编写
  20. Bootstrap框架有什么优势?

热门文章

  1. MySQL数据库之——初识MySQL
  2. linux内核丢弃udp报文,内核udp报文截取、修改和发送
  3. PHP获取系统时间的方法(毫秒数)
  4. java 类一定要声明成public_关于使用public class 和 class声明类的区别
  5. 如何修改Github仓库的description
  6. u盘启动工具哪个好用
  7. iClap的名字是怎么来的,clap是有什么特殊的意义么?
  8. 技术VC的优势以及技术VC是如何生存的
  9. App磁盘沙盒工具实践
  10. hdu 1983 Kaitou Kid - The Phantom Thief (2)【Bfs+暴力枚举】