您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章将为大家详细讲解有关OpenCV按位AND OR XOR和NOT的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
1. 效果图
矩形 VS 圆形效果图如下:
AND操作效果图如下,可以看到正方形的边缘丢失了,因为矩形没有圆形覆盖那么大的区域,因此两个像素都没有“开”。
OR操作效果图如下,可以看到矩形和圆形被合并了。
XOR操作效果图如下,可以看到正方形的中心被移走了,因为异或操作不能同时具有大于零的像素。
NOT操作效果图如下,可以看到圆由前景白色背景黑色变成了前景黑色背景白色。
# 对示例图像应用AND、OR、XOR和NOT运算符。 # USAGE # python opencv_bitwise.py # 导入必要的包 import numpy as np import cv2 # 绘制一个矩形 rectangle = np.zeros((300, 300), dtype="uint8") cv2.rectangle(rectangle, (25, 25), (275, 275), 255, -1) cv2.imshow("Rectangle", rectangle) # 绘制一个圆 circle = np.zeros((300, 300), dtype = "uint8") cv2.circle(circle, (150, 150), 150, 255, -1) cv2.imshow("Circle", circle) # 'AND'操作——当输入都是>0的像素时,则得到开操作像素为255白色,否则被设置为关闭,像素为0黑色 # 当且仅当两个像素都大于零时,按位AND为真。 bitwiseAnd = cv2.bitwise_and(rectangle, circle) cv2.imshow("AND", bitwiseAnd) cv2.waitKey(0) # ‘OR'操作得到矩形和圆形的并集,只要有一个>0,就得到255白色,否则为0 # 如果两个像素中的任何一个大于零,则按位“或”为真。 bitwiseOr = cv2.bitwise_or(rectangle, circle) cv2.imshow("OR", bitwiseOr) cv2.waitKey(0) # ‘XOR'是OR的补集,仅当俩个像素有一个>0时,为白色255 bitwiseXor = cv2.bitwise_xor(rectangle, circle) cv2.imshow("XOR", bitwiseXor) cv2.waitKey(0) # ‘NOT'操作:0变成255,255变成0 bitwiseNot = cv2.bitwise_not(circle) cv2.imshow("NOT", bitwiseNot) cv2.waitKey(0)
关于OpenCV按位AND OR XOR和NOT的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。