python读取图像的几种方式

本文介绍几种基于python的图像读取方式:

  • 基于PIL库的图像读取、保存和显示
  • 基于opencv-python的图像读取、保存和显示
  • 基于matplotlib的图像读取、保存和显示
  • 基于scikit-image的图像读取、保存和显示
  • 基于imageio的图像读取、保存和显示

安装方式基本使用pip即可:

pip install pillow
pip install scikit-image
pip install matplotlib
pip install opencv-python
pip install numpy scipy scikit-learn

基于PIL库的图像读取、保存和显示

from PIL import Image

设置图片名字

img_path = './test.png'

用PIL的open函数读取图片

img = Image.open(img_path)

读进来是一个Image对象

img

查看图片的mode

img.mode
'RGB'

用PIL函数convert将彩色RGB图像转换为灰度图像

img_g = img.convert('L')
img_g.mode
'L'
img_g.save('./test_gray.png')

使用PIL库的crop函数可对图像进行裁剪

img_c = img.crop((100,50,200,150))
img_c

图像旋转

img.rotate(45)

在图像上添加文字

from PIL import ImageDraw, ImageFont
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('/home/fsf/Fonts/ariali.ttf',size=24)
draw.text((10,5), "This is a picture of sunspot.", font=font)
del draw
img

基于opencv-python的图像读取、保存和显示

import cv2
img = cv2.imread('./test.png')

使用cv2都进来是一个numpy矩阵,像素值介于0~255,可以使用matplotlib进行展示

img.min(), img.max()
(0, 255)
import matplotlib.pyplot as plt
plt.imshow(img)
plt.axis('off')
plt.show()

基于matplotlib的图像读取、显示和保存

import matplotlib.image as mpimg
img = mpimg.imread('./test.png')
img.min(),img.max()
(0.0, 1.0)

像素值介于0~1之间,可以使用如下方法进行展示

import matplotlib.pyplot as plt
plt.imshow(img,interpolation='spline16')
plt.axis('off')
plt.show()

注意:matplotlib在进行imshow时,可以进行不同程度的插值,当绘制图像很小时,这些方法比较有用,如上所示就是用了样条插值。

基于scikit-image的图像读取、保存和显示

from skimage.io import imread, imsave, imshow
img = imread('./test.png')

这个和opencv-python类似,读取进来也是numpy矩阵,像素值介于0~255之间

img.min(), img.max()
(0, 255)
import matplotlib.pyplot as plt
plt.imshow(img,interpolation='spline16')
plt.axis('off')
plt.show()

基于imageio的图像读取、显示和保存

import imageio
img = imageio.imread('./test.png')
img.min(), img.max()
(0, 255)

这个和opencv-python、scikit-image类似,读取进来也都是numpy矩阵,像素值介于0~255之间

import matplotlib.pyplot as plt
plt.imshow(img,interpolation='spline16')
plt.axis('off')
plt.show()

python读取图像的几种方式相关推荐

  1. Python读取/保存图片的3种方式(PIL、matplotlib、cv2)

    文章目录 Python读取/保存图片的3种方式 PIL方式 matplotlib方式 OpenCV方式 总结: Python读取/保存图片的3种方式 PIL方式 from PIL import Ima ...

  2. Python保存图像的几种方式

    记录读取和保存图像的几种方式 1.读取图片 1.1.使用cv2读取图片,注意:opencv打开路径中不能有中文!!! img = cv2.imread(img_path+'/'+name) 1.2.使 ...

  3. Python读取文本的三种方式对比

    1.概述 Python有三种读取文本的方式,分别是: read() readline() readlines() 2.三种方式的优缺点分析 2.1 read() 最简单的一种方法,一次性读取文件的所有 ...

  4. python读取图像的几种方法

    方法一:利用PIL中的Image函数,这个函数读取出来不是array格式 这时候需要用 np.asarray(im) 或者np.array()函数 区别是 np.array() 是深拷贝,np.asa ...

  5. python读取文件的三种方式_python中读取文件的f.seek()方法

    用于二进制文件中 F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 ...

  6. Python 读取配置文件常用几种方式

    我们在设计自动化测试框架的时候,经常使用到配置文件,而配置文件种类有很多,常见的配置文件格式有很多中:ini.yaml.xml.properties.txt.py等. 配置文件ini 虽然配置文件放置 ...

  7. Python读取文本文件的几种方式

    Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作: read() 函数:逐个字节或者字符读取文件中的内容,若有参数,则根据指定值读取字节或字符; readline() 函 ...

  8. python读取图片的几种方式以及图像宽和高的存储顺序

    1.opencv 2.imageio 3.matplotlib 4.scipy # coding:utf-8import cv2 import imageio from scipy import mi ...

  9. 图像处理五:python读取图片的几种方式

    一.读取图片方式 PIL.opencv.scikit-image: (1)PIL和Pillow只提供最基础的数字图像处理,功能有限: (2)opencv实际上是一个c++库,只是提供了python接口 ...

最新文章

  1. 轨迹系列1——一种基于路网图层的GPS轨迹优化方案
  2. 多点优化损失函数地图全局描述
  3. 游戏外挂设计技术探讨
  4. SPI初始化C语言编程,SD卡spi模式读写,初始化和复位都成功了
  5. 矩阵的乘法和快速幂的一些理解(适用初学者)
  6. ftp server 可以实现你的电脑里的某个文件夹的共享
  7. Java IO: 其他字符流(下)
  8. CRM、用户管理权限
  9. 【spring-cloud】Eureka server和client之间的心跳通信
  10. 我的Python成长之路---第六天---Python基础(20)---2016年2月20日(晴)
  11. 轻松搞定 Shell 玩转 HiveSQL
  12. [ZJOI2008]生日聚会
  13. C语言---双人贪吃蛇
  14. 戴尔显示rpc服务器,swmm(暴雨管理模型)安装完成后运行显示 RPC服务器不可用
  15. 项目整体流程及项目经理工作职责
  16. Python练习_数据类型_day4
  17. 搜索引擎的高级搜索语法指令
  18. windows server 2016 活动目录部署系列(十一)AD域控上安装证书服务器
  19. Java匹马行天下之一顿操作猛如虎,框架作用知多少?
  20. Brain Stimulation: ​大脑电生理记录和刺激工具包(BEST)

热门文章

  1. freenas安装出错
  2. B站codewhy的Vue课程资源
  3. 武林风云之linux单用户
  4. 《构建之法,邹欣》阅读笔记
  5. 【电子书怎么制作】云展网教程 | 自定义画册硬皮封面和凹槽
  6. coco class name
  7. 项目质量管理---实施质量保证
  8. Redis之主从同步
  9. DHCP报文交换次序
  10. laytpl与下拉框渲染数据,实现带输入功能的表格