OpenCV Python对图像进行位运算,按位取反、按位或、按位非、按位异或
时间: 2023-10-20 12:23:47 浏览: 49
OpenCV Python提供了位运算的功能,可以使用位运算符号对图像进行按位操作,常见的位运算包括按位取反、按位或、按位非、按位异或。
以下是使用OpenCV Python实现常见的位运算的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img1 = cv2.imread('image1.png', cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread('image2.png', cv2.IMREAD_GRAYSCALE)
# 图像按位取反
result1 = cv2.bitwise_not(img1)
# 图像按位或
result2 = cv2.bitwise_or(img1, img2)
# 图像按位非
result3 = cv2.bitwise_not(img2)
# 图像按位异或
result4 = cv2.bitwise_xor(img1, img2)
# 显示结果图像
cv2.imshow('Result1', result1)
cv2.imshow('Result2', result2)
cv2.imshow('Result3', result3)
cv2.imshow('Result4', result4)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先读取了两张灰度图像,然后分别对它们进行了按位取反、按位或、按位非、按位异或的操作,并将结果显示出来。
需要注意的是,对于按位非操作,只需要提供一个输入图像即可,而其他操作需要提供两个输入图像。此外,在使用位运算时,应保证两个输入图像的大小相同,否则会出现错误。