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

时间:2025-01-04 10:48:48

1、opencv学习中常常需要画面叠加,opencv提供了很好的按位运算函数函数提供给我们调用。不用另外装模块。本文提供按位与,或,非,异或的使用。cv.bitwise_andcv.bitwise_orcv.bitwise_notcv.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图形进行与/或/非运算
© 手抄报圈