gpt4 book ai didi

python - 二值图像python中多个 Blob 的区域

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:30 27 4
gpt4 key购买 nike

这里是菜鸟。

我有一个(某种)二进制图像,其中包含已知数量的形状和大小不同的 Blob 。每个 blob 中的像素值相当于 blob 索引。我只想处理(使用时刻)最大的 5 个 blob。

目前我正在遍历每个连接的像素递增一个变量以获得每个 Blob 的面积(见下面的代码)。然后我只根据需要处理最大的 Blob ,但是这种像素迭代方法在 python 中非常慢。

 for i in range(1, objectCount):
zm=0.0
for h in range(im.height):
for w in range(im.width):
pixVal = cv.Get2D(im, h, w)
if (pixVal[0] == i):
zm=zm+1
objectArea.append([int(zm)])

有没有更快的方法来做到这一点?

最佳答案

下面是替换上面的代码:

hist = cv.CreateHist([255], cv.CV_HIST_ARRAY, [[0,255]], 1)
cv.CalcHist([im] , hist)
for h in range(255):
zm = cv.QueryHistValue_1D(hist, h)
objectArea.append([int(zm)])

关于python - 二值图像python中多个 Blob 的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12693982/

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