Getting started --------------- ``scikit-image`` is an image processing Python package that works with :mod:`numpy` arrays. The package is imported as ``skimage``: :: >>> import skimage as ski Most functions of ``skimage`` are found within submodules: :: >>> camera = ski.data.camera() A list of submodules and functions is found on the `API reference `_ webpage. Within scikit-image, images are represented as NumPy arrays, for example 2-D arrays for grayscale 2-D images :: >>> type(camera) >>> # An image with 512 rows and 512 columns >>> camera.shape (512, 512) The :mod:`skimage.data` submodule provides a set of functions returning example images, that can be used to get started quickly on using scikit-image's functions: :: >>> coins = ski.data.coins() >>> threshold_value = ski.filters.threshold_otsu(coins) >>> threshold_value 107 Of course, it is also possible to load your own images as NumPy arrays from image files, using :func:`skimage.io.imread`: :: >>> import os >>> filename = os.path.join(ski.data_dir, 'moon.png') >>> moon = ski.io.imread(filename) If you need more control over how images are loaded, you may want to consider using one of the many external Python libraries that can read images into NumPy arrays. For example, `imageio `_ : :: >>> import imageio.v3 as iio3 >>> filename = os.path.join(ski.data_dir, 'moon.png') >>> moon = iio3.imread(filename) Use `natsort `_ to load multiple images :: >>> 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))