2014-11-24 61 views
0

我在做我的项目中的分割部分,我需要将3维蒙版乘以彩色图像。如何在没有循环的python中将3d矩阵转换为3d乘法?

什么现在做:

maskedFrame=np.zeros((rgbFrame.shape)) 
maskedHsvFrame=np.zeros((rgbFrame.shape)) 
for color in range(0,3): 
    maskedFrame[:,:,color]=rgbFrame[:,:,color]*biscuitMask 
    maskedHsvFrame[:,:,color]=hsvFrame[:,:,color]*biscuitMask 

是否有可能在没有任何蟒循环繁殖?

回答

0

AFAIK,numpy可以沿着颜色尺寸braodcastbiscuitMask以适应框架的形状。
这个广播是自动完成的。因此,

maskedFrame = rgbFrame * biscuitMask 
maskedHsvFrame = hsvFrame * biscuitMask 

应该没有任何循环或修改。

PS,
如果你熟悉的,广播是非常喜欢运用仅numpy的自动为您完成。