如何便捷获取Python DIPlib测量特征中的对象数量?
如何便捷获取Python DIPlib测量特征中的对象数量?
嘿,我之前用DIPlib的时候也踩过这个坑!它返回的result可不是咱们常用的Python字典,是个专门的dip.Measurement对象,难怪直接用len()不管用~
给你两个超简单的解决办法:
- 从特征数组里直接拿:当你取
result['center']时,得到的是DIPlib的数组实例,用它的.size属性就能直接拿到对象数量,或者用.shape[0]取第一维度的长度(因为每个对象对应数组里的一行),代码示例是这样的:# 两种方式都能行 object_count = result['center'].size # 或者 object_count = result['center'].shape[0] - 直接用测量对象的内置方法:其实
dip.Measurement对象本身就带了获取对象总数的方法,不用单独提取特征,直接调用result.NumberOfObjects()就能得到所有测量特征对应的对象数量,这个方法更通用,不管你测了哪些特征都能用~
顺便提一句,DIPlib里每个测量特征的数组第一维度长度都是对象的数量,所以不管你取面积、中心还是其他特征,用上面的方法拿到的数量都是一致的哦。
备注:内容来源于stack exchange,提问作者TheSloth
相关产品推荐
相关产品推荐

