python中不同函数读取图片格式的区别

PYTHON 图像基本操作(简单(中)) img:读取图像的路径像素值exposure模块提供了一些图像增强和处理的函数,包括直方图均衡化;用于增强图像的对比度,使图像中的像素值更均匀分布,从而提升图像的视觉效果。 阅读详情
前言:关于uint8和float型数据

为了节省存储空间,图像一般存储在一种特殊的数据类型——uint8(8位无符号整数)中,以此方式存储的图像称作8位图像。
imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中。
因此,通过matlab以及各种python包(skimage,imageio)读入图像的数据类型都是uint8的,而在数据运算中,如果不转换成double格式,计算可能会产生溢出。
总之先记住一句话:uint8用来存储和显示(imshow),double用来运算。

一、skimage.io。

读取方法: skimage.io.imread('图片地址')
返回的格式是uint8格式的数组。

二、imageio

读取方法: imageio.imread('图片地址').

返回的格式是一个imageio.core.util.Image类,其里边的元素也是uint8格式的。

以上两种类型均可以通过skimage.img_as_float转换成float64格式的图片。

转换公式为::float=uint8/255float=uint8/255
元素转换前后对比: 67(uint8) →→→ 0.2627(float64)。

在程序中的相互转换:

1)把uint8转换成float
转换成float64。只需要利用skimage.img_as_float()函数即可。
如果需要转换成float32格式,在float64的基础上加上:.astype(np.float32)即可。
示例:

img = skimage.img_as_float(img)#从uint8转换成float364
img = skimage.img_as_float(img).astype(np.float32)#从uint8转换成float32

2)把float64转换成uint8
这是目前来说找到的既能达到目的又不使图像失真的方法了:分别利用skimage包和numpy中的函数进行转换,如果直接用numpy函数进行转换,会使图像失真。

img = skimage.img_as_float(img)#先转换成uint16的格式。
img = np.uint8(img)#再转换成uint8的格式。

总结:以上的转换中可以看出:能用图形处理包的格式转换函数就别用numpy中的格式转换函数,否则会出现各种各样的问题。

附:不同数据类型的对比:
Data typerange
uint80 to 255
uint160 to 65535
uint320 to 232
float-1 to 1 or 0 to 1
int8-128 to 127
int16-32768 to 32767
int32-231 to 231 - 1
Skimage图像处理(四) jupyter skimage图像处理:数据类型与颜色空间转换 阅读详情

相关推荐

python使用opencv对图像的基本操作(2)

对多个像素点进行操作,特别是图像处理领域,使用数组切片方式访问是一种非常高效的方法。数组切片允许开发者通过简单的语法获取数组中的一段连续元素,这些元素可以是一个像素点的颜色信息,例如在RGB图像中,一个像素点由红、绿、蓝三个颜色通道的值组成。

2401_83576060的博客 1680

python数字图像处理(4):图像数据类型及颜色空间转换

一、图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换。这些数据类型及取值范围如下表所示: Data typeRange uint8 0 to 255 uint16 0 to 65535 uint32 0 to 232 float -1 to 1 or 0 to 1...

weixin_34024034的博客 1033

【学习笔记】opencv的python接口 读取摄像头、图像和绘图

读取摄像头: import cv2 as cv if __name__ == '__main__': cap = cv.VideoCapture(0) #一般电脑内置摄像头为0,你可以通过设置成 1 或者其他的来选择别的摄像头 if not cap.isOpened(): print("Cannot open camera") exit() while True: # Capture frame-by-frame ret, frame = cap.read()

qq_41358574的博客 1131

Skimage:img_as_float

参考: skimage_Scikit image_参考手册_非常教程 Python skimage.img_as_float方法代码示例 - 纯净天空 相应的例程代码

weixin_40132776的博客 4313

使用skimage进行图片读取与存储

通过使用skimage库,可以轻松处理图片数据。本文介绍了如何使用skimage读取、处理并保存图片数据。通过这些操作,读者可以掌握图片的基础处理技能,理解如何在工作中高效地使用skimage完成图片的操作与转换。Skimage是一个功能强大的图像处理库,尤其适合用于科学研究和数据分析领域。学习并掌握它,将极大地提升开发效率,帮助解决复杂的图像处理问题。

Mr数据杨 1217

银河麒麟系统V10 sp1,安装wine 9.0

银河麒麟系统V10 sp1 x86_64,安装wine 9.0

daqinzl的专栏 1万+

python怎么读取图片文件_Python如何读取文件中图片格式

Python如何读取文件中图片格式这篇文章主要介绍了Python如何读取文件中图片格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下正常情况下,图片命名的后缀和图片的格式一致,但可能某些情况下,图片的原格式和命名的后缀不一样,查看图片的实际格式import osdirfff1 = "C:\\Users\\Administrator\\Deskto...

weixin_39635084的博客 1356

基于CODESYS与EtherCAT的步进电机单轴控制实践

本文详细介绍了基于CODESYS平台与EtherCAT总线技术实现步进电机单轴控制的完整实践流程。从硬件选型、软件工程创建、EtherCAT主从站配置,到运动控制功能块编程与在线调试,手把手指导读者完成从零到一的搭建,并提供了常见问题的排坑指南,帮助自动化开发者快速掌握这一高效、灵活且成本可控的工业运动控制解决方案。

hh234的博客 491

python读取图片格式_Python读取图片尺寸、图片格式

Python读取图片尺寸、图片格式需要用到PIL模块,使用pip安装Pillow.Pillow是从PIL fork过来的Python 图片库。from PIL import Imageim = Image.open(filename)#返回一个Image对象print('宽:%d,高:%d'%(im.size[0],im.size[1]))Image类的属性##PIL.Image.format图片...

weixin_39675215的博客 1939

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

【Linux系统】Kdenlive软件多机位同音频视频同步化处理

Kdenlive简介 官网链接:https://kdenlive.org/zh/ 命令行安装: apt-get install kdenlive Kdenlive能够进行多轨道视频编辑,可以使用和调整多条音频、视频轨道。每条轨道可以按需进行单独锁定、静音。 Kdenlive多机位同音频视频同步化处理步骤 1. 新建Kdenlive文件 选择<文件>-<新建>,建立新的kdenlive文件,初始设置为<视频轨:2>,<音频轨:2>。 视.

qq_31550269的博客 1885

python读取图像方式问题(RGB)

我们在读取图片时由于个人习惯不同,使用不同的包读取,显示图片的结果也不同。所以我们需要作出一些区分。 MATLAB生成一张渐变图片来区分几种图片读取方式 分别用PIL,Matplot,Opencv读取图像,但是都用plt显示,可以看出opencv读取图像的BGR,其它的两种读取图像的RGB,所以这点我们需要注意。 方法一:利用PIL中的Image函数 Note: 这个函数读取出来不是array格式 这时需要用 np.asarray(im) 或者np.array()函数将其转化成array,(区别是 np

qq_35091353的博客 4086

STM32L452与FPGA通信翻车?手把手教你关闭I2C时钟延展避坑(附OVR错误解决方案)

本文深入解析STM32L452与FPGA在I2C通信中因时钟延展功能导致的常见问题,提供关闭I2C时钟延展的详细配置方法(NOSTRETCH模式),并针对可能出现的OVR错误给出Combined模式解决方案。通过实战案例和波形分析,帮助工程师快速排查和解决嵌入式系统中的I2C兼容性问题。

e3f4g5的博客 215

keras如何批量读取图片_python 图片读取 常用操作方法

图片读取与保存cv2.imreadimport cv2im = cv2.imread(img_path) # 若无法读取,返回 None, cv2.imread(path, flags) flags: cv2.IMREAD_COLOR, cv2.IMREAD_GRAYSCALE, cv2.IMREAD_UNCHANGEDtype(im) # numpy.ndarrayim.shape...

weixin_36037417的博客 686

Vienna整流器SVPWM调制:7扇区划分与中点电位平衡的MATLAB/Simulink实现解析

本文深入解析Vienna整流器的SVPWM调制技术,重点介绍7扇区划分与中点电位平衡的MATLAB/Simulink实现方法。通过详细的算法推导和仿真模型构建,帮助工程师掌握整流器闭环控制策略,优化功率转换效率。内容涵盖扇区判断逻辑、矢量作用时间计算及中点电位平衡的PID调节等核心技术要点。

weixin_33937499的博客 387

【小贪】万字长文介绍因果推断和增益模型

本文首先从一个实例出发阐述了因果性不等于相关性,进而引出因果推断和增益模型。然后简单介绍了因果推断的基础内容,并介绍了主要的三类增益模型:元学习、增益直接建模、表示学习,每一类模型都简要介绍了其经典模型。之后介绍了增益模型的评价指标,包括uplift bins、uplift curve和qini曲线。增益模型实际上是一大类模型框架,本质上可以用传统响应模型或其他机器学习模型嵌入增益模型的框架,但是预测结果并不是一个概率,模型评价方式也有变化。训练样本收集增益模型建模强依赖于ab实验,数据要求很高。

打瞌睡_的博客 2506

python图片保存jpg、show变成bmp_Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中...

Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中我就废话不多说了,直接上代码吧!import Imagefrom datetime import datetimeimport osstr = '/home/dltest/caffe/examples/sgg_datas/images/result_test/zutest/' + datetime.now().strftime("...

weixin_39673972的博客 1029

YoloV8改进策略:主干网络篇|MobileNetV4主干替换YoloV8的BackBone(独家原创)

今年,轻量级王者MobileNetV4闪亮登场!在我们这篇文章里,我们把MobileNetV4加入到了YoloV8中,替换原有的BackBone。哈哈,你猜怎么着?效果超赞!文章里详细记录了改进过程,给那些正在为创新点子发愁的小伙伴们提供了满满的灵感。嘿,想要发表关于轻量级改进的论文?这篇文章绝对是你的首选参考!

m0_47867638的博客 3192

Python讲堂 读取cv.VideoCapture(0)的frame帧转变为PIL.Image图片格式时遇到的坑

版权声明: https://blog.csdn.net/weixin_39449466/article/details/80370832 在项目中遇到一个问题是想将VideoCapture()读到的frame图片转变成PIL的Image图片格式。 ...

计算机视觉 3985

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

python运用ico图标_使用python将图片格式转换为ico格式的示例

使用python将图片格式转换为ico格式的示例因为python打包的时候需要用到ico图片格式,网上看好的图片又没有ico,于是自己寻找了一下python转换图片格式的方法,彻底解决这个问题,以后就可以自己轻松实现转化了。代码如下:"""Author:Robin·QINotes:将图片转换为ico格式"""# PythonMargick包可以到Unofficial Windows Binarie...

weixin_39846089的博客 1510

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python rgb565_读取RGB565格式的图像

前言:笔者准备参加校内的一个循线小车大赛,会用到摄像头,特写此文章以误导队友(逃)之前准备用ov7725摄像头,这款摄像头据了解只能输出格式为RGB565的图片,作为从来没有接触过底层的小白,根本不知道这种格式的图片是什么东西,很懵。后来在师兄的帮助下,加上在网上了解了一下,发现ov7725这款摄像头并不是太适合STM32F4这块板子,而且跟目前手头上的开发板也不匹配,故准备退货,换摄像头ov26...

weixin_39763293的博客 1959

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

opencv,Image(PIL),skimage,matplotlib.image,matplotlib.pyplot读取图像的区别以及如何显示读取的图像

opencv,Image(PIL),skimage,matplotlib.image,matplotlib.pyplot读取图像的区别以及如何显示读取的图像

chase 3402

PIL,cv2读取类型及 numpy,tensor格式转换

PIL,cv2读取类型及转换

Lily的博客 2490

读取cv.VideoCapture(0)的frame帧转变为PIL.Image图片格式时遇到的坑

def read_frame_from_video(video_path, image_path): video_capture = cv2.VideoCapture(video_path) images = [] idx = 0 while True: ret, frame = video_capture.read() if re...

4758

python裁剪图片并保存_python PIL和CV对 图片的读取,显示,裁剪,保存实现方法

python PIL和CV对 图片的读取,显示,裁剪,保存实现方法PIL 图片操作读取图片img = Image.open(“a.jpg”)显示图片im.show() # im是Image对象,im是numpy类型,通过Image.fromarray(nparr, mode='RGB')函数转换为Image对象图片的size(width, height) = img.size图片的模式mode =...

weixin_39930144的博客 975
上一篇: 用python手刃Leetcode(9):回文数【简单题】
下一篇: python+pycharm+pyqt5+QT Designer前端开发完整配置攻略
东写西读李老湿
东写西读李老湿 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄13年 481粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值