一文概述用 python 的 scikit-image 模块进行图像分割

本文介绍了如何使用Python的scikit-image库进行图像分割,包括图像处理基础知识、scikit-image的安装、图像导入和保存。文章详细讨论了阈值分割、无监督分割如Otsu、Li和Local阈值算法,以及监督分割中的活动轮廓和随机walker方法。此外,还探讨了无监督分割中的SLIC和Felzenszwalb算法,展示了如何将图像分割为有意义的区域。
摘要由CSDN通过智能技术生成

迟早有一天,所有的一切都是数字,包括图像。

看过《终结者》的人肯定会认为这是那个时代最伟大的科幻电影。在这部电影中,James Cameron 引入了一个有趣的视觉效果概念,它可以使观众有可能躲在被称为终结者的电子人的眼睛后面。这种效应被称为「终结者视觉」,在某种程度上,它将人与背景分割开来。在当时,这听起来完全是天方夜谭,但在如今,图像分割已经成为了许多图像处理技术的重要组成部分。

图像分割

我们都很清楚,Photoshop 或类似的图形编辑器提供了无限的可能性,可以将一个人从一张图片中带到另一张图片中。然而,要这样做,首先需要确定那个人在源图像中的位置,这就需要用到图像分割技术了。有许多库是为图像分析而编写的。在本文中,我们将详细讨论基于 python 的图像处理库 scikit-image。

在这里给大家推荐一个python系统学习q群:250933691有免费开发工具以及初学资料,(数据分析,爬虫,AI,  机器学习,神经网络)每天有老师给大家免费授课,欢迎一起交流学习

scikit-image

SciKit Image 是一个专门用于图像处理的 python 包。

安装

可以按如下方式安装 scikit-image:

pip install -U scikit-image(Linux and OSX)

pip install scikit-image(Windows)

# For Conda-based distributions

conda install scikit-image

python 中的图像处理概述

在使用图像分割技术之前,有必要先了解 scikit image 以及它是如何处理图像的。

从 skimage 库导入灰度图像

skimage 数据模块包含一些内置示例数据集,这些数据集通常以 jpeg 或 png 格式存储。

from skimage import data

import numpy as np

import matplotlib.pyplot as plt

image = data.binary_blobs()

plt.imshow(image, cmap='gray')

从 skimage 库导入彩色图像

from skimage import data

import numpy as np

import matplotlib.pyplot as plt

image = data.astronaut()

plt.imshow(image)

从外部源导入图像

# The I/O module is used for importing the image

from skimage import data

import numpy as np

import matplotlib.pyplot as plt

from skimage import io

image = io.imread('skimage_logo.png')

plt.imshow(image);

加载多个图像

images = io.ImageCollection('../images/*.png:../images/*.jpg')

print('Type:', type(images))

images.files

Out[]: Type:

保存图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值