OpenCV中的逻辑运算就是对应位置的元素进行与、或、非和异或。
Opencv与Python不同的是:OpenCV中0的非反过来是255,255反过来是0。
但是Python中255非为-256。
一、非运算
使用API---cv.bitwise_not(str)
示例代码如下:
import cv2
import numpy as np
cat = cv2.imread("cat.png")
cat_not = cv2.bitwise_not(cat) # 进行非运算
cv2.imshow("not", np.hstack((cat, cat_not))) # 两张图片水平展示
print(cat[:2, :2])
print(cat_not[:2, :2])
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果如下:


从图片中我们可以发现:猫白色的部分变为了黑色.
从数组中我们可以看出:每个数字取反,在munpy中最大值为255,因此此时255-90=165。
二、与运算
使用API---cv.bitwise_and(str)
OpenCV中的逻辑运算详解:非、与、或、异或操作及其Python差异,

最低0.47元/天 解锁文章
4087

被折叠的 条评论
为什么被折叠?



