gpt4 book ai didi

python - 在 Python 中从图像中提取连接的对象

转载 作者:太空狗 更新时间:2023-10-29 20:12:43 25 4
gpt4 key购买 nike

我有一个 graysacle png 图像,我想从我的图像中提取所有连接的组件。有些组件具有相同的强度,但我想为每个对象分配一个唯一的标签。这是我的图片

enter image description here

我试过这段代码:

img = imread(images + 'soccer_cif' + str(i).zfill(6) + '_GT_index.png')
labeled, nr_objects = label(img)
print "Number of objects is %d " % nr_objects

但是我使用它只得到了三个对象。请告诉我如何获取每个对象。

最佳答案

J.F. Sebastian shows a way识别图像中的对象。它需要手动选择高斯模糊半径和阈值,但是:

from PIL import Image
import numpy as np
from scipy import ndimage
import matplotlib.pyplot as plt

fname='index.png'
blur_radius = 1.0
threshold = 50

img = Image.open(fname).convert('L')
img = np.asarray(img)
print(img.shape)
# (160, 240)

# smooth the image (to remove small objects)
imgf = ndimage.gaussian_filter(img, blur_radius)
threshold = 50

# find connected components
labeled, nr_objects = ndimage.label(imgf > threshold)
print("Number of objects is {}".format(nr_objects))
# Number of objects is 4

plt.imsave('/tmp/out.png', labeled)
plt.imshow(labeled)

plt.show()

enter image description here

使用 blur_radius = 1.0,这会找到 4 个对象。使用 blur_radius = 0.5,找到 5 个对象:

enter image description here

关于python - 在 Python 中从图像中提取连接的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16937158/

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