OpenCV中图像通道的逻辑运算(与或非)

OpenCV中图像通道的逻辑运算(与或非)

代码实现:

import cv2
#图像通道的逻辑运算(与或非)
img = cv2.imread('cat.jpg')
image = cv2.imread('cat.jpg')
_and = cv2.bitwise_and(img,image) #与
_or = cv2.bitwise_or(img,image) #或
_not = cv2.bitwise_not(img) #非(取反)
_xor = cv2.bitwise_xor(img,image) #异或
cv2.imshow('and',_and)
cv2.imshow('or',_or)
cv2.imshow('not',_not)
cv2.imshow('xor',_xor)
cv2.waitKey()
### OpenCV图像逻辑运算 #### 按位 (Bitwise AND) 按位操作会逐像素比较两个输入图像,并返回一个新的图像,其中每个像素是对应位置上两幅图像相应像素的按位结果。 ```python import cv2 import numpy as np # 读取两张图片 image1 = cv2.imread("image1.jpg") image2 = cv2.imread("image2.jpg") # 执行按位操作 result_and = cv2.bitwise_and(image1, image2) cv2.imshow('AND Operation', result_and) cv2.waitKey(0) cv2.destroyAllWindows() ``` 此代码展示了如何加载两张彩色图像并执行按位操作[^3]。 #### 按位或 (Bitwise OR) 按位或操作会对每一对对应的像素应用逻辑或运算。如果任意一个源图像中的某个像素不为零,则目标图像中相应的像素也将被设置为非零值。 ```python # 执行按位或操作 result_or = cv2.bitwise_or(image1, image2) cv2.imshow('OR Operation', result_or) cv2.waitKey(0) cv2.destroyAllWindows() ``` 这段代码实现了对同一组输入图像进行按位或的操作。 #### 按位异或 (Bitwise XOR) 对于给定的一对像素,当且仅当其中一个而不是两者都具有不同的二进制值时,XOR 的输出才会有高电平(即 '1')。 ```python # 执行按位异或操作 result_xor = cv2.bitwise_xor(image1, image2) cv2.imshow('XOR Operation', result_xor) cv2.waitKey(0) cv2.destroyAllWindows() ``` 上述脚本演示了如何利用 `bitwise_xor` 函数来处理图像数据。 #### 按位非 (Bitwise NOT) NOT 操作是对单个图像执行的,它反转每一个像素的颜色强度;白色变为黑色,反之亦然。 ```python # 对单一图像执行按位非操作 result_not = cv2.bitwise_not(image1) cv2.imshow('NOT Operation on Image1', result_not) cv2.waitKey(0) cv2.destroyAllWindows() ``` 这表明可以通过调用 `bitwise_not()` 方法轻松实现这一效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值