3. 入门#
scikit-image
是一个与 numpy
数组一起工作的图像处理 Python 包。该包被导入为 skimage
:
>>> import skimage as ski
skimage
的大多数功能都在子模块中找到:
>>> camera = ski.data.camera()
子模块和函数的列表可以在 API 参考 网页上找到。
在 scikit-image 中,图像被表示为 NumPy 数组,例如灰度 2-D 图像的 2-D 数组
>>> type(camera)
<type 'numpy.ndarray'>
>>> # An image with 512 rows and 512 columns
>>> camera.shape
(512, 512)
The skimage.data
子模块提供了一系列返回示例图像的函数,这些图像可以用于快速开始使用 scikit-image 的函数:
>>> coins = ski.data.coins()
>>> threshold_value = ski.filters.threshold_otsu(coins)
>>> threshold_value
107
当然,也可以使用 skimage.io.imread()
从图像文件中加载您自己的图像作为 NumPy 数组:
>>> import os
>>> filename = os.path.join(ski.data_dir, 'moon.png')
>>> moon = ski.io.imread(filename)
使用 natsort 加载多张图片
>>> import os
>>> from natsort import natsorted, ns
>>> list_files = os.listdir('.')
>>> list_files
['01.png', '010.png', '0101.png', '0190.png', '02.png']
>>> list_files = natsorted(list_files)
>>> list_files
['01.png', '02.png', '010.png', '0101.png', '0190.png']
>>> image_list = []
>>> for filename in list_files:
... image_list.append(ski.io.imread(filename))