Python skimage 图像读写与属性查看指南

慢慢来
慢慢来
发布时间:2026-10-15| 3人浏览过
原创

本文详细介绍Python中skimage库的io模块用法,涵盖从外部文件读取RGB及灰度图像、使用内置示例图片、保存并转换格式,以及查看图像维度、像素值等属性信息的具体代码与参数说明。

引言

skimage库提供了io模块,专门用于处理图像的输入与输出操作。为了便于用户进行练习和测试,该库还内置了data模块,其中包含了一系列示例图片,用户可以直接调用这些资源进行开发。

在Python中引入skimage模块的标准方式如下:

from skimage import io

一、从外部读取图片并显示

若要读取单张彩色RGB图像,需调用skimage.io.imread(fname)函数,该函数接收一个参数,即待读取图片的文件路径。显示图像则使用skimage.io.imshow(arr)函数,其参数为待显示的数组对象(读取后的图片以NumPy数组形式存储)。

from skimage import io
img=io.imread('d:/dog.jpg')
io.imshow(img)

对于单张灰度图像,使用skimage.io.imread(fname, as_grey=True)函数。其中第一个参数指定图片路径,第二个参数as_grey为布尔类型,默认值为False,设置为True时可将图像转换为灰度模式。

from skimage import io
img=io.imread('d:/dog.jpg',as_grey=True)
io.imshow(img)

二、程序自带图片

skimage库内置了多张示例图片,当用户无需从外部文件读取时,可直接使用这些内置资源:

astronaut

宇航员图片

coffee

一杯咖啡图片

lena

lena美女图片

camera

拿相机的人图片

coins

硬币图片

moon

月亮图片

checkerboard

棋盘图片

horse

马图片

page

书页图片

chelsea

小猫图片

hubble_deep_field

星空图片

text

文字图片

clock

时钟图片

immunohistochemistry

结肠图片

 

 

显示这些内置图片的代码无需额外参数,示例如下:

from skimage import io,data
img=data.lena()
io.imshow(img)

图片文件名与对应的函数名一致,例如camera图片对应camera()函数。这些示例图片存储在skimage的安装目录中,路径变量名为data_dir,可通过打印该变量查看具体路径:

from skimage import data_dir
print(data_dir)

输出结果示例为:D:\Anaconda3\lib\site-packages\skimage\data

因此,以下两行读取图片的代码在效果上是等价的:

from skimage import data_dir,data,io
img1=data.lena()  #读取lean图片
img2=io.imread(data_dir+'/lena.png')  #读取lena图片

三、保存图片

利用io模块中的imsave(fname, arr)函数实现图像保存。第一个参数指定保存的文件路径及文件名,第二个参数为需要保存的图像数组变量。

from skimage import io,data
img=data.chelsea()
io.imshow(img)
io.imsave('d:/cat.jpg',img)

保存操作同时具备格式转换功能。例如,若读取的是JPG格式图像,而保存时指定为PNG格式,则系统会自动将图像从JPG转换为PNG格式并保存。

四、图片信息

若需查看图像的基本信息,可在Spyder编辑器的右上角窗口中直接查看:

此外,也可以通过程序代码直接打印输出相关信息:

from skimage import io,data
img=data.chelsea()
io.imshow(img)
print(type(img))  #显示类型
print(img.shape)  #显示尺寸
print(img.shape[0])  #图片宽度
print(img.shape[1])  #图片高度
print(img.shape[2])  #图片通道数
print(img.size)   #显示总像素个数
print(img.max())  #最大像素值
print(img.min())  #最小像素值
print(img.mean()) #像素平均值

控制台输出结果如下:

<class 'numpy.ndarray'> (300, 451, 3) 300 451 3 405900 231 0 115.305141661

以上为Python数字图像处理中skimage库读取、显示及保存图片的详细内容,更多关于python skimage读取显示保存图片的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。