Was ist das Python-Äquivalent von Mat::setTo in C++?OpenCV: Python-Äquivalent von `setTo` in C++
Was ich versuche zu tun Wert von Maske zu setzen:
Mat img;
...
img.setTo(0, mask);
Update:
Hier mögliche Lösung ist:
#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
Es ganze Ebene mit Maske neu zu schreiben, aber ich brauche spezifisches Pixel des Bildes auf Null Maske einzustellen. – mrgloom
Bearbeitete ursprüngliche Antwort. – antonmik
Img ist (256, 256, 3) und Maske ist in der Regel (256, 256) so 'Image * Maske' wird nicht funktionieren. Siehe mein Update für eine gültige Antwort. – mrgloom