赞
踩
所有的东西本质上都是数字,包括图像.
曾今看过The Terminator的人肯定会同意这是那个时代最伟大的科幻电影。在电影中,詹姆斯卡梅隆推出了一个有趣的视觉效果概念,让观众可以看到被称为终结者的机器人的眼睛。这种效应后来被称为终结者视觉,在某种程度上,它将人类从背景中分割出来。它可能听起来完全不合适,但图像分割是当今许多图像处理技术的重要组成部分。
图像分割
我们都非常清楚Photoshop或类似图形编辑器提供的无限可能性,它们将一个人从一个图像中取出并放入另一个图像中。但是,这样做的第一步是确定该人在源图像中的位置,这就是图像分割发挥作用的地方。为图像分析目的编写了许多库。在本文中,我们将详细讨论scikit-image,这是一个基于Python的图像处理库。也可以从与本文相关的Github存储库访问整个代码。
Scikit-image
scikit-image.org
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库中的data模组,包含一些内置的格式为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: 保存图片#Saving file as ‘logo.png’
io.imsave('logo.png', logo)
深入了解图像分割
现在我们大概了解scikit-image,让我们再深入认识一下图像分割。图像分割本质是一个将数字图像划分多个区域(块段)的过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。