使用scikit-image的regionprops_table时num_pixels报KeyError问题咨询
问题原因与解决方法
你遇到的
KeyError不是bug,是操作时混淆了regionprops和regionprops_table的可用属性名称:num_pixels是skimage.measure.regionprops()返回的区域对象的属性,但**regionprops_table()的properties参数不支持这个名称**。- 要在
regionprops_table中获取像素数量,应该使用'area'属性(它和num_pixels含义一致,都是前景像素的数量)。
修改后的可运行代码:
import skimage import numpy as np array = np.array(([1,1],[1,0])) # 用'area'替代'num_pixels' skimage.measure.regionprops_table(array, properties=("area", "area_filled"))
- 补充方案:如果一定要使用
num_pixels这个属性名,可先通过regionprops()获取区域对象再提取对应属性:
import skimage import numpy as np array = np.array(([1,1],[1,0])) regions = skimage.measure.regionprops(array) # 提取第一个区域的目标属性 result = { 'num_pixels': regions[0].num_pixels, 'area_filled': regions[0].area_filled }
内容的提问来源于stack exchange,提问作者Václav Bočan
相关产品推荐
相关产品推荐

