返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的imread()函数用法说明
  • 858
分享到

Python中的imread()函数用法说明

2024-04-02 19:04:59 858人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

cv2方式: # -*- coding: UTF-8 -*- import cv2 """ cv2模块--图片的读入和显示 """ image_path="D:/PyCharm

cv2方式:


# -*- coding: UTF-8 -*-
import cv2
"""
cv2模块--图片的读入和显示
""" 
image_path="D:/PyCharmProjects/imageCut/cutted_images/0.jpg" 
img=cv2.imread(image_path)# np.ndarray BGR uint8
cv2.imshow("test_imread",img)# 转为RGB显示
cv2.waiTKEy()

PIL方式:


# -*-coding: UTF-8 -*- 
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg"
 
#PIL
#相关:scipy.misc.imread, scipy.ndimage.imread
#misc.imread 提供可选参数mode,但本质上是调用PIL,具体的模式可以去看srccode或者document
#https://GitHub.com/scipy/scipy/blob/v0.17.1/scipy/misc/pilutil.py
img=Image.open(image_path)
img=np.array(img)# 获得numpy对象, np.ndarray, RGB 
#统一使用plt进行显示,不管是plt还是cv2.imshow,在python中只认numpy.array,但是由于cv2.imread 的图片是BGR,cv2.imshow 时相应的换通道显示
 
plt.imshow(img)
plt.show()

matplotlib.image:


# -*-coding: UTF-8 -*-
 
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg" 
img=mpimg.imread(image_path)
 
#统一使用plt进行显示,不管是plt还是cv2.imshow,在Python中只认numpy.array,但是由于cv2.imread 的图片是BGR,cv2.imshow 时相应的换通道显示
 
plt.imshow(img)
plt.show()

skimage.io方式:


# -*-coding: UTF-8 -*- 
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from skimage import io 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg"
 
#4 skimge
#caffe.io.load_iamge()也是调用的skimage实现的,返回的是0-1 float型数据
img = io.imread(image_path)
 
#统一使用plt进行显示,不管是plt还是cv2.imshow,在python中只认numpy.array,但是由于cv2.imread 的图片是BGR,cv2.imshow 时相应的换通道显示
 
plt.imshow(img)
plt.show()

scipy.misc方式:


# -*-coding: UTF-8 -*- 
from scipy.misc import imread, imshow, imsave
import matplotlib.pyplot as plt 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg"
 
img = imread(image_path)
# imshow(img) need to set the SCIPY_PIL_IMAGE_VIEWER environment variable to point to the program/executable that can be used to view images on your system
 
plt.imshow(img)
plt.show()
imsave("D:/PycharmProjects/imageCut/cutted_images/1.jpg",img)

补充:cv2.imread()和matplotlib.image.imread()读取图片的一些区别,python,中文路径

1.cv2.imread()和matplotlib.image.imread()

除了读取出来的rgb的顺序不一样,对于读取图片的类型要求也不一样,

example:

将.jpg改为.png,后者读取就有问题,而前者就顺利的读取出来了

而且cv2.imread()不能有中文路径,否则读取不出来,一般OpenCV库都不允许中文路径

但是可以这样修改,就可以得到可以识别中文路径的读取:


#cv2识别中文路径
def cv2_imread(img_path):
  cv_img=cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1)
  return cv_img
img_y = cv2_imread('E:/哈哈/' + str(number) + '.jpg')
#这个是存储到带有中文路径的文件里面,其中有图像质量的模糊度
cv2.imencode('.jpg', img,[int(cv2.IMWRITE_JPEG_QUALITY),
 random.unifORM(30, 50)])[1].tofile("E:/哈哈/" 
+ str(xuhao) + ".jpg")

对于cv2读取的图像的形式是数组,不同的读取函数,读取到的图像的形式是不一样的,所以可以多次进行不同的读取方式,来进行不同的操作

2.scipy.misc.imread()

读出来的为rgb,而且可以使用中文路径(cv2.imread()读出来的图片是BGR)

scipy.misc.imsave(),直接进行保存就可以。但是有一点要注意,它只能保存uint8类型的数据,所以有时候就需要对他的类型进行声明。还有一些别的函数,有时候也会这样的。uint8的取值范围是0-255,所以注意越界问题。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: Python中的imread()函数用法说明

本文链接: https://lsjlt.com/news/121772.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中的imread()函数用法说明
    cv2方式: # -*- coding: UTF-8 -*- import cv2 """ cv2模块--图片的读入和显示 """ image_path="D:/Pycharm...
    99+
    2024-04-02
  • python scipy.misc.imsave()函数的用法说明
    这个函数用于储存图片,将数组保存为图像 此功能仅在安装了Python Imaging Library(PIL)时可用。版本也比较老了,新的替代它的是imageio.imwrite() 用法: imsave(*ar...
    99+
    2022-06-02
    python scipy.misc .imsave函数
  • Python sqrt()函数用法说明
    1、开平方 函数 sqrt() 返回 x 的平方根(x > 0) 语法: import math math.sqrt( x ) 注意:此函数不可直接访问,需要导入math...
    99+
    2024-04-02
  • python-opencv中的cv2.inRange函数用法说明
    本次目标是将一副图像从rgb颜色空间转换到hsv颜色空间,颜色去除白色背景部分 具体就调用了cv2的两个函数,一个是rgb转hsv的函数 具体用法 hsv = cv2.cvtCo...
    99+
    2024-04-02
  • Python中内建函数的简单用法说明
    Python提供了一个内联模块buildin,该模块定义了一些软件开发中经常用到的函数,利用这些函数可以实现数据类型的转换、数据的计算、序列的处理等。 buildin模块的内置函数: 1、apply():可...
    99+
    2022-06-04
    内建 函数 简单
  • Numpy中的ravel_multi_index函数用法说明
    最近遇到了ravel_multi_index这个函数,官方文档看不明白,Google了一番好不容易才从一堆示例代码里理解函数的意义,记录一下。 官方文档在这 这个函数主要功能为把给定...
    99+
    2024-04-02
  • pytorch中的numel函数用法说明
    获取tensor中一共包含多少个元素 import torch x = torch.randn(3,3) print("number elements of x is ",x.n...
    99+
    2024-04-02
  • pytorch 中autograd.grad()函数的用法说明
    我们在用神经网络求解PDE时, 经常要用到输出值对输入变量(不是Weights和Biases)求导; 在训练WGAN-GP 时, 也会用到网络对输入变量的求导。 以上两种需求, 均可...
    99+
    2024-04-02
  • Python中imread()函数怎么用
    小编给大家分享一下Python中imread()函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!cv2方式:# -*- coding:...
    99+
    2023-06-14
  • Python NumPy中diag函数的使用说明
    NumPy包中的内置diag函数很有意思。 假设创建一个1维数组a,和一个3*3数组b: import numpy as np a = np.arange(1, 4) b = np.arange(1, 10).r...
    99+
    2022-06-02
    Python NumPy diag函数
  • Python numpy.power()函数使用说明
    power(x, y) 函数,计算 x 的 y 次方。 示例: x 和 y 为单个数字: import numpy as np print(np.power(2, 3)) 8...
    99+
    2024-04-02
  • mysql 的indexof函数用法说明
    如下所示: LOCATE(substr,str) 返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0. mysql> select LOCATE('bar'...
    99+
    2022-05-24
    mysql indexof函数
  • python中encode和decode函数说明
     python中encode和decode函数说明 1.  简介字符串编码常用类型:utf-8,gb2312,cp936,gbk等。python中,我们使用decode()和encode()来进行解码和编码,使...
    99+
    2023-06-02
  • python numpy.linalg.norm函数的使用及说明
    目录numpy.linalg.norm函数的使用np.linalg.norm()函数用法总结numpy.linalg.norm函数的使用 1、linalg = linear(线性)+...
    99+
    2023-02-05
    python函数 numpy.linalg.norm函数 numpy.linalg.norm
  • R语言中qplot()函数的用法说明
    ggplot2()函数 ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创造出任何有助于解决你所遇到问题的图形。 qplot() qplot()属于ggplot...
    99+
    2024-04-02
  • R语言中quantile()函数的用法说明
    在R语言中取百分位比用quantile()函数,下面举几个简单的示例: 1、求某个百分位比 > data <- c(1,2,3,4,5,6,7,8,9,10) >...
    99+
    2024-04-02
  • R语言中cut()函数的用法说明
    R语言cut()函数使用 cut()切割将x的范围划分为时间间隔,并根据其所处的时间间隔对x中的值进行编码。 参数:breaks:两个或更多个唯一切割点或单个数字(大于或等于2)的数...
    99+
    2024-04-02
  • python中的plt.cm.Paired用法说明
    plt.cm中cm全称表示colormap paired表示两个两个相近色彩输出,比如浅蓝、深蓝 ;浅红、深红;浅绿,深绿这种。 补充:【python】plt.cm.Spectral,颜色分配 plt.cm.Spec...
    99+
    2022-06-02
    python plt.cm.Paired
  • python 中sys.getsizeof的用法说明
    科班出身的码畜一直被灌输一条上帝圣经:“一个int占4个字节,一个char占1个字节,一个float占4个字节。。。”, 今天看下了python的getsizeof函数,发现python中各个基本数据类型(对象)占用...
    99+
    2022-06-02
    python sys.getsizeof
  • Python中sub()的用法说明
    Python来进行查询和替换一个文本字符串? 可以使用sub()方法来进行查询和替换,sub方法的格式为: sub(replacement, string[, count=0])...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作