В этой статье мы покажем быстрый старт Python библиотеки scikit-image для работы с изображением, думаю многим будет полезно и интересно.
Также если вас интересуют разные библиотеки на Python, то посмотрите статью «Быстрый старт работы с Python библиотекой rich», думаю тоже будет интересно.
Как установить scikit-image:
Устанавливаем её как обычно, через pip, вот какие команды вам надо будет ввести для установки:
1 2 3 4 | # Update pip python -m pip install -U pip # Install scikit-image python -m pip install -U scikit-image |
То есть мы сначала обновляем пакет, и потом скачиваем, всё должно нормально работать, но это основной способ, если вам надо другой, то посмотрите на официальном сайте по ссылке, там вы найдёте другие способы установки.
Работа с scikit-image:
Перед тем как начать, стоит сказать, что тут мы покажем только один не большой пример из документации (Ссылка не неё ниже), но думаю он всё равно будет крайне интересным и вы поймёте основную логику работы, и возможности этой библиотеки.
scikit-image — это пакет Python для обработки изображений, который работает с массивами numpy. Пакет импортируется как skimage:
1 | >>> import skimage |
Большинство функций skimage находятся внутри подмодулей:
1 2 | >>> from skimage import data >>> camera = data.camera() |
Список подмодулей и функций можно найти на странице справочника по API.
В scikit-image изображения представлены в виде массивов NumPy, например, двумерных массивов для двухмерных изображений в градациях серого.
1 2 3 4 5 | >>> type(camera) <type 'numpy.ndarray'> >>> # Изображение с 512 строками и 512 столбцами >>> camera.shape (512, 512) |
Подмодуль skimage.data
предоставляет набор функций, возвращающих примеры изображений, которые можно использовать для быстрого начала работы с функциями scikit-image:
1 2 3 4 5 | >>> coins = data.coins() >>> from skimage import filters >>> threshold_value = filters.threshold_otsu(coins) >>> threshold_value 107 |
Конечно, вы также можете загружать свои собственные изображения в виде массивов NumPy из файлов изображений, используя skimage.io.imread()
:
1 2 3 4 | >>> import os >>> filename = os.path.join(skimage.data_dir, 'moon.png') >>> from skimage import io >>> moon = io.imread(filename) |
Используйте natsort для загрузки нескольких изображений
1 2 3 4 5 6 7 8 9 10 11 12 | >>> import os >>> from natsort import natsorted, ns >>> from skimage import io >>> 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(io.imread(filename)) |
Вывод:
В этой статье вы прочитали про Python библиотеку scikit-image для работы с изображением, как видите я тут показал только как установить, и пару маленьких примеров, но надеюсь вам было интересно и полезно, но если хотите больше, то переходите на официальную документацию.