image是什么意思

更新时间:2022-11-27 13:34:24 阅读: 评论:0


2022年11月27日发(作者:桃山时代)

python中imread什么意思_Python中各种imread函数的区别与

联系

Python中各种imread函数的区别与联系

最近⼀直在⽤python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结⼀下,以免以后因此犯些愚

蠢的错误。如果你正好也对此感到困惑可以看下这篇总结。当然,要了解具体的细节,还是应该readthefuckcode和APIdocument,

但貌似python的很多模块⽂档都不是很全,所以只能多看代码和注释了。

先来看看常⽤的读取图⽚的⽅式:

skimge

_iamge

知乎上有篇帖⼦专门介绍了这些⽅法的性能Python的各种imread函数在实现⽅式和读取速度上有何区别?

这些⽅法可以分为四⼤家族

PIL

+numpy

这些⽅法都是通过调⽤读取图像的信息;

不直接返回numpy对象,可以⽤numpy提供的函数进⾏转换,参考Image和Ndarray互相转换;

其他模块都直接返回y对象,通道顺序为RGB,通道值得默认范围为0-255。

matplotlib

从名字中可以看出这个模块是具有matlab风格的,直接返回y格式通道顺序是RGB,通道值默认范围0-255。

opencv

使⽤opencv读取图像,直接返回y对象,通道顺序为BGR,注意是BGR,通道值默认范围0-255。

skimage

:直接返回y对象,通道顺序为RGB,通道值默认范围0-255。

_image:没有调⽤默认的,返回值为0-1的float型数据,通道顺序为RGB

关于图像的⼀些说明

可以使⽤matplotlib的pyplot模块的show也可以使⽤cv2的imshow⽅法,对于这些⽅法只要你传⼊的参数是y(通道值范围

0-255)就可以正常显⽰,不存在区别,这也可以看出numpy在python中的重要地位;但是⽅法由于它针对的是cv2的

imread所以它内部会做通道顺序的变化,传⼊为BGR转换为RGB,所以你如果传⼊RGB显⽰的就是BGR了。废话说完了,看代码。

以下是测试代码

运⾏环境为windows10+python3.6

#encoding=utf8

fromPILimportImage

importnumpyasnp

importcv2

asplt#plt⽤于显⽰图⽚

smpimg#mpimg⽤于读取图⽚

importskimage

importsys

fromskimageimportio

#PIL

#相关:,

#提供可选参数mode,但本质上是调⽤PIL,具体的模式可以去看srccode或者document

imagepath=''

im1=(imagepath)

im1=(im1)#获得numpy对象,RGB

print(type(im1))

print()

#2opencv

im2=(imagepath)

print(type(im2))#numpyBGR

print()#[width,height,3]

#3matplotlib类似matlab的⽅式

im3=(imagepath)

print(type(im3))#

print()

#4skimge

#_iamge()也是调⽤的skimage实现的,返回的是0-1float型数据

im4=(imagepath)

print(type(im4))#

print()

#print(im4)

#('test',im4)

#y()

#统⼀使⽤plt进⾏显⽰,不管是plt还是,在python中只认,但是由于的图⽚是BGR,

时相应的换通道显⽰

t(221)

('PILread')

(im1)

t(222)

('opencvread')

(im2)

t(223)

('matplotlibread')

(im3)

t(224)

('skimageread')

(im4)

#('off')#不显⽰坐标轴

()

#cmdoutput

##(851,1279,3)

##(851,1279,3)

##(851,1279,3)

##(851,1279,3)

测试结果

总结

虽然python中没有显⽰的数据类型声明,但是在编程的过程中⾃⼰必须得清楚数据类型是什么,否则就有可能犯⼀些愚蠢的错误。

本文发布于:2022-11-27 13:34:24,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/31290.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:fall什么意思
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图