python读取图像的几种方法_python图像识别教程

python读取图像的几种方法_python图像识别教程python读取图像的几种方式本文介绍几种基于python的图像读取方式:基于PIL库的图像读取、保存和显示基于opencv-python的图像读取、保存和显示基于matplotlib的图像读取、保存和显示基于scikit-image的图像读取、保存和显示基于imageio的图像读取、保存和显示安装方式基本使用pip即可:pipinstallpillowpipinstallscikit-imagepipinstallmatplotlibpipinstallopen

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194697.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS下yum的安装及配置

    CentOS下yum的安装及配置一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yuminstall[]即可安装相应的软件,yum工具会自动的从网上yum源中下载相应的依赖包,并以正确的依赖关系一个个安装依赖包。下面简单介绍一下CentOS下安装yum源的流程和操作。一、查看、卸载已安装的yum包1、查看已安装的yum包

    2022年6月3日
    91
  • pycharm最新激活码汇总,亲测可用,定期更新_在线激活

    (pycharm最新激活码汇总,亲测可用,定期更新)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    89
  • undefined reference to ‘main’

    undefined reference to ‘main’

    2021年8月15日
    239
  • 如何更改pycharm项目路径_怎么修改pycharm文件路径

    如何更改pycharm项目路径_怎么修改pycharm文件路径pycharm中更改python安装路径前言有时python安装的路径不太合适需要重新安装python,如果之前已经安装过pycharm,那么新装python路径发生改变就会使pycharm无法正常使用,需要更改pycharm配置。本文就是记录下pycharm中如何更改python路径。操作方法点击file->Setting依次点击上图按钮选择python新更改的安装路径即可…

    2022年8月28日
    2
  • POJ2375 Cow Ski Area 【强连通分量】+【DFS】

    POJ2375 Cow Ski Area 【强连通分量】+【DFS】CowSkiAreaTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 2323 Accepted: 660DescriptionFarmerJohn’scousin,FarmerRon,wholivesinthemountainsof

    2022年5月11日
    39
  • filter suction_dispatcher

    filter suction_dispatcherFilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.! StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.!  StrutsPrepareAndExecuteFilter概要说明        FilterDispatcher是早期struts2的过滤器,后期的都…

    2022年8月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号