opencv-python 找不同并标记
时间: 2024-12-18 12:20:24 浏览: 18
`opencv-python`是一个用于Python编程的OpenCV库的接口,它使得利用OpenCV的功能变得更加简单。如果你想要在图像处理中找出两个图片之间的差异并标记出来,通常涉及以下几个步骤:
1. 导入必要的模块:
```python
import cv2
import numpy as np
```
2. 加载原始图片(例如img1和img2):
```python
img1 = cv2.imread('image1.jpg', 0) # 第一张图转化为灰度图像
img2 = cv2.imread('image2.jpg', 0)
```
3. 对比两张图像:
- 可以使用像素级别的比较,如计算它们的差分(`cv2.absdiff()`),或直接比较是否相等(`np.equal(img1, img2)`)。
- 如果找的是变化区域,可以对差分结果进行阈值处理(`cv2.threshold()`)来获得二值掩码。
4. 创建一个标记图:
- 使用`img1`作为背景,将变化区域设为不同颜色或标记(比如白色):
```python
diff = cv2.bitwise_and(np.uint8(255), np.uint8(255), mask=cv2.threshold(cv2.absdiff(img1, img2), threshold_value, 255, cv2.THRESH_BINARY)[1])
combined_img = cv2.addWeighted(img1, 0.7, diff, 0.3, 0)
```
5. 显示结果:
```python
cv2.imshow('Difference', combined_img)
cv2.waitKey(0) # 等待用户按键
cv2.destroyAllWindows()
```
阅读全文