2024-10-03 04:35:36 发布
网友
我试图检测黑色图像中白色物体周长的不规则程度。我在MATLAB中找到了一些很好的代码,但是它依赖于函数bwarea,这似乎是一个加权区域,它会影响周长。我不确定python中的等效代码是什么——如果有人能给我一个等效代码,我将非常感激。或者,如果有人知道一个很好的度量来确定黑色图像(即二值图像)中白色物体的周长不规则性,那也会很有帮助
bwarea
感谢您提供指向文档的指针!我已经在下面介绍了我的实现。我怀疑它是否非常有效,但它对我来说已经足够好了:
def patternScore(neighborhood): m_sum = 0 m_sum = neighborhood[0,0] + neighborhood[0,1] + neighborhood[1,0] + neighborhood[1,1] if(m_sum == 3): return float(7.0/8.0) elif(m_sum == 0): return 0 elif(m_sum == 1): return float(1.0/4.0) elif(m_sum == 4): return 1 else: if(neighborhood[0][1] == neighborhood[0][0]): return .5 elif(neighborhood[1][0] == neighborhood[0][0]): return .5 else: return .75 def neighbors(im, i, j, d=1): im = np.array(im).astype(int) top_left = im[i-d:i+d, j-d:j+d] top_right = im[i-d:i+d, j:j+d+1] bottom_left = im[i:i+d+1, j-d:j+d] bottom_right = im[i:i+d+1, j:j+d+1] pattern = (patternScore(top_left) + patternScore(top_right) + patternScore(bottom_left) + patternScore(bottom_right)) return pattern def bwarea(img): d = 1 area = 0 for i in range(1,img.shape[0]-1): for j in range(1,img.shape[1]-1): area += neighbors(img,i,j) return area
感谢您提供指向文档的指针!我已经在下面介绍了我的实现。我怀疑它是否非常有效,但它对我来说已经足够好了:
相关问题 更多 >
编程相关推荐