bitwise_以及它是如何工作的?

时间:2017-04-04 08:32:23

标签: python-2.7 opencv bitwise-and

我试图理解函数cv2.bitwise_and(src1,src2,mask)的工作原理。所以我尝试了这段代码:

src1=np.array([1, 2, 3])

src1=np.uint8(src1)

mask=np.array([1,1,4])

mask=np.uint8(mask)

_, mask_bin= cv2.threshold(mask,3,1,cv2.THRESH_BINARY)

res=cv2.bitwise_and(src1,src1,mask_bin)

从文档中我了解如果mask[I]不等于零,则会执行和操作。但我没有理解这一点。

1 个答案:

答案 0 :(得分:3)

我认为你得到了正确的理解,你刚刚称错SELECT parameter, reportDate, count FROM (SELECT parameter, reportDate, count, @reportDate_rank := IF(@current_reportDate = reportDate,@reportDate_rank + 1, 1) AS reportDate_rank, @current_reportDate := reportDate FROM report ORDER BY reportDate, count DESC ) dateRanked WHERE reportDate_rank <= 10; 。使用

bitwise_and

the documentation开始,res=cv2.bitwise_and(src1,src1,mask=mask_bin) 只有两个源图像。

  

cv2.bitwise_and(src1,src2 [,dst [,mask]])→dst

给它一个没有其他信息的第三个参数(bitwise_and),它默认将它视为它的第一个选项参数,即mask_bin,一个输出数组。你需要告诉他你希望dst成为mask optionnal参数。

替换此行会产生mask_bin,这是您应该期待的。