新手在这里!我正在使用python plus opencv和skimage包。我使用以下方法对超像素中的图像进行了分割:
segments = slic(image, n_segments=numSegments, sigma=1, convert2lab=True)
我可以通过以下方式访问每个超像素:
#FOR-LOOP-1
for v in np.unique(segments):
#create a mask to access one region at the time
mask = np.ones(image.shape[:2])
mask[segments == v] = 0
#my function to calculate mean of A channel in LAB color space
A = mean_achannel(img, mask)
现在我想获得与每个超像素的质心相关的坐标,我该怎么做? 我尝试使用:
from skimage.measure import regionprops
#FOR-LOOP-2
regions = regionprops(segments)
for props in regions:
cx, cy = props.centroid # centroid coordinates
但我无法理解如何将“FOR-LOOP-2”中的每个区域与“FOR-LOOP-1”中的右侧区域链接起来。如何计算“FOR-LOOP-1”中的每个区域质心?
答案 0 :(得分:0)
所有所需的值都可以在for-loop-2中使用regionprops找到:
from skimage.measure import regionprops
#FOR-LOOP-2
regions = regionprops(segments,
intensity_image=img[..., 1])
for props in regions:
cx, cy = props.centroid # centroid coordinates
v = props.label # value of label
mean_a = props.mean_intensity