open cv2.bitwise_and()函数

问题描述 投票:0回答:1
我想特别询问这一行:

mask = cv2.circle(mask, (img.shape[1]//2, img.shape[0]//2), 100, 100, -1)

它在黑色背景上创建了一个
grey
圆圈。如果我将其更改为mask = cv2.circle(mask,(img.shape [1] // 2,img.shape [0] // 2),100,255,-1),那么它会创建一个 *白色 *圆圈。我的问题是,当表演刻度时,我可以明白为什么可以将

white

颜色(r = 255,g = 255,b = 255)转换为(111111111111111111111111111111111111111111111后年子),因此可以使用它来保存它原始颜色。但是,如果是
Grey(r = 100,g = 100,b = 100),即(1100100,1100100,1100100),我真的看不出为什么它保留了颜色。请帮助并命名我的任何误解。 我试图改变圆的颜色,但没有任何改变 您对什么是mask

感到困惑。 这是一个布尔矩阵,如定义

here

.
python opencv
1个回答
0
投票

函数cv::bitwise_and计算每个元素位的逻辑连词... dst(i)= src1(i)∧src2(i)如果蒙版(i)≠0

呼叫网站是

cv2.bitwise_and(img, img, mask=mask)
, 所以

dst(I)

将简单地是

src1(I)
(即,

img(I)

)
其中
mask
非零。
任何非零掩码值都将被视为
任何其他非零掩码值。
只有零是特殊的。
the面具是布尔的,在或关闭,没有内置。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.