首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Skimage分割图像

使用Skimage分割图像
EN

Stack Overflow用户
提问于 2020-07-18 05:23:18
回答 1查看 634关注 0票数 1

我希望能够使用skimage来创建第四个图像。

所有我能找到的是裁剪图像,但我想第四次它,而不仅仅是裁剪部分。我需要将它放在第四位,以便能够与其他图像进行对称比较。

我该怎么做呢?

如果我找不到分割它的函数或方法,我的想法之一是手动找到垂直线和水平线,然后使用这些值作为切片索引进行裁剪。

代码语言:javascript
复制
height, width = size(image)
vertical = height / 2
horizontal = width / 2

实现这一目标的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-18 14:10:37

在scikit images are just NumPy arrays中,你应该使用NumPy切片:

代码语言:javascript
复制
from skimage import data
import matplotlib.pyplot as plt

image = data.camera()

nrows, ncols = image.shape
rsplit, csplit = nrows // 2, ncols // 2

quadrants = [
    image[:rsplit, :csplit],
    image[:rsplit, csplit:],
    image[rsplit:, :csplit],
    image[rsplit:, csplit:],
]

fig, axes = plt.subplots(2, 2)

for quadrant, ax in zip(quadrants, axes.flat):
    ax.imshow(quadrant, cmap='gray')
    ax.set_axis_off()

当且仅当您确定图像的行数和列数为偶数时,才能使用skimage.util.view_as_blocks获得象限

代码语言:javascript
复制
from skimage.util import view_as_blocks

quadrants = view_as_blocks(image, (rsplit, csplit)).reshape(
    (4, rsplit, csplit)
)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62961927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档