gpt4 book ai didi

Python:如果我知道原始像素的位置,如何找到所有连接的像素?

转载 作者:太空狗 更新时间:2023-10-30 01:26:45 25 4
gpt4 key购买 nike

我有一个二进制图像:numpy.ndarray(dtype=bool)。它有数百个连接区域,其中填充了 True 值。

但我只对一个地区感兴趣。我知道其中一个元素的位置,并想找出这个感兴趣区域的边界框(也许还有这个区域其他点的位置)。

最好的方法是什么?

最佳答案

根据图像的大小,标记图像以获得所有 连接组件可能是最简单的方法。使用已知像素的标签也可以获取连接的像素。 skimage 使用 skimage.measure.label 使这变得非常简单和 skimage.measure.regionprops .请务必理解 labelconnectivityneighbors 参数,因为它会影响对角线邻居是否接触。

from skimage import measure
import numpy as np

# load array; arr = np.ndarray(...)
# arr = np.zeros((10,10), dtype=bool)
# arr[:2,:2] = True
# arr[-4:,-4:] = True

labeled = measure.label(arr, background=False, connectivity=2)
label = labeled[8,8] # known pixel location

rp = measure.regionprops(labeled)
props = rp[label - 1] # background is labeled 0, not in rp

props.bbox # (min_row, min_col, max_row, max_col)
props.image # array matching the bbox sub-image
props.coordinates # list of (row,col) pixel indices

关于Python:如果我知道原始像素的位置,如何找到所有连接的像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42161884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com