基于python读取图像的几种方式汇总
目录
- 本文介绍几种基于python的图像读取方式:
- 基于PIL库的图像读取、保存和显示
- 基于matplotlib的图像读取、显示和保存
- 基于scikit-image的图像读取、保存和显示
- 基于imageio的图像读取、显示和保存
- 总结
本文介绍几种基于python的图像读取方式:
- 基于PIL库的图像读取、保存和显示
- 基于opencv-python的图像读取、保存和显示
- 基于matplotlib的图像读取、保存和显示
- 基于scikit-image的图像读取、保存和显示
- 基于imageio的图像读取、保存和显示
pip install pillowpip install scikit-imagepip install matplotlib pip install opencv-pythonpip install numpy scipy scikit-learn
基于PIL库的图像读取、保存和显示
from PIL import Image
设置图片名字
img_path = './test.png'
用PIL的
open
函数读取图片img = Image.open(img_path)
【基于python读取图像的几种方式汇总】读进来是一个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, ImageFontdraw = 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 drawimg
文章图片
基于opencv-python的图像读取、保存和显示
import cv2
img = cv2.imread('./test.png')
使用cv2都进来是一个numpy矩阵,像素值介于
0~255
,可以使用matplotlib进行展示img.min(), img.max()
(0, 255)
import matplotlib.pyplot as pltplt.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 pltplt.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 pltplt.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 pltplt.imshow(img,interpolation='spline16')plt.axis('off')plt.show()
总结 到此这篇关于基于python读取图像的几种方式的文章就介绍到这了,更多相关python读取图像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 【课程作业经验】基于MIndSpore疫苗接种数据预测
- python|计算聚类系数clustering coefficient的python实现
- 用python的pulp库解决线性规划问题
- Python(5)_变量、字符串
- python|PyTorch入门,帮你构建自己的神经网络模型
- 【课程作业经验】基于MindSpore的YOLOv3-Darknet53的车辆检测计数实现
- 详解Python|详解Python OpenCV图像分割算法的实现
- FPGA|FPGA实验记录五(I2C读取AHT10温湿度传感器)
- FPGA|FPGA实验记录四(基于FPGA的VGA协议实现)
- FPGA|FPGA图像处理(一)(边缘检测)