什么是C ++ 中Mat :: setTo的python等效项?
我想做的是通过掩码设置值:
Mat img; ... img.setTo(0, mask);
更新:
这是可能的解决方案:
#set by mask area to zero img= np.random.rand(200, 200, 3) * 255 img= img.astype(np.uint8) mask = np.zeros((200, 200), np.uint8) mask[10:100, 60:140] = 255 inv_mask= cv2.bitwise_not(mask) n_channels= img.shape[2] for i in range(0,n_channels): img[..., i]= img[..., i] * (inv_mask/255) #to set arbitary value img= np.random.rand(200, 200, 3) * 255 img= img.astype(np.uint8) mask= np.zeros((200,200), np.uint8) mask[10:100, 60:140]= 255 mask_bool= np.where(mask > 0) value= 120 img[mask_bool]= value
Rosa Gronchi.. 5
您可以简单地使用img[mask > 0] = 0
which相当于pythonimg.setTo(0, mask);
您可以简单地使用img[mask > 0] = 0
which相当于pythonimg.setTo(0, mask);