Согласно документации , regionprops
может только определять количество серого изображения и не будет работать с цветом.
Простым решением было бы измерить среднюю интенсивность в каждом канале отдельно и объединить результаты:
out = np.empty_like(img)
for ii in range(3):
regions = regionprops(segments, intensity_image=img[:,:,ii])
# paint, and write to out[:,:,ii]
Используя PyDIP это можно сделать довольно просто (отказ от ответственности: я автор):
import PyDIP as dip
segments = segments.astype('uint32') # 64-bit types not accepted by PyDIP
msr = dip.MeasurementTool.Measure(segments, img, ['Mean'])
out = dip.ObjectToMeasurement(segments, msr['Mean'])
out.Show()