python环境opencv图形进行与/或/非运算

2025-10-27 20:42:40

1、opencv学习中常常需要画面叠加,

opencv提供了很好的按位运算函数函数提供给我们调用。不用另外装模块。

本文提供按位与,或,非,异或的使用。

cv.bitwise_and

cv.bitwise_or

cv.bitwise_not

cv.bitwise_xor

下图为圆和矩形异或生成结果

python环境opencv图形进行与/或/非运算

2、import cv2 as cvimport  numpy as npimport copy

先初始化工作,生成两个图,一个矩形 一个圆形

利用np生成的。

rows = 400cols = 300channels = 3# 矩形,填充白色juxing = np.zeros((rows, cols), dtype = "uint8")cv.rectangle(juxing, (50, 125), (100, 225), 255, -1)cv.imshow("juxing", juxing)

#圆形,填充白色yuanxing = np.zeros((rows, cols), dtype = "uint8")cv.circle(yuanxing, (100, 120), 30, 255, -1)cv.imshow("yuanxing", yuanxing)

python环境opencv图形进行与/或/非运算

python环境opencv图形进行与/或/非运算

3、1)与运算 参数为矩形和圆形  二者交集

# 0黑色, 1白色# 与运算,

yu = cv.bitwise_and(juxing, yuanxing)cv.imshow("yu", yu)

python环境opencv图形进行与/或/非运算

4、2)二者的并集

# 或运算,huo = cv.bitwise_or(juxing, yuanxing)cv.imshow("huo", huo)

python环境opencv图形进行与/或/非运算

5、3)对圆形取反

# 非运算,fei = cv.bitwise_not(yuanxing)cv.imshow("fei", fei)

python环境opencv图形进行与/或/非运算

6、4)

# 异或运算,不同为1, 相同为0yihuo = cv.bitwise_xor(juxing, yuanxing)cv.imshow("yihuo", yihuo)cv.waitKey(0)

python环境opencv图形进行与/或/非运算

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢