C++でのMat::setToのpythonに相当するものは何ですか?OpenCV:C++の `setTo`に相当するPython
私は何をしようとしていることはマスクで値を設定することです:
Mat img;
...
img.setTo(0, mask);
アップデート:ここで
が可能なソリューションです:Pythonで
#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
のPythonの同等である
img[mask > 0] = 0
を使用することができますが、私はマスクによってゼロに画像の特定のピクセルを設定する必要があります。 – mrgloom編集された元の回答。 – antonmik
imgは(256,256,3)で、マスクは通常(256,256)ですので、 'image * mask'は動作しません。有効な回答は私の更新を見てください。 – mrgloom