import cv2 # 读取两张图片,要求图片大小相同 img1 = cv2.imread('./images/sub_img1.png') img2 = cv2.imread('./images/sub_img2.png') # 将两张图片做差 result_img = cv2.subtract(img1, img2) # 显示原图和处理后的图片 cv2.imshow('img1', img1) cv2.imshow('img2', img2) cv2.imshow('result_img', result_img) # cv2.imwrite('./images/sub_result.png',result_img) # 等待用户按下任意按键退出 cv2.waitKey(0) cv2.destroyAllWindows()解析代码
时间: 2024-03-17 16:44:26 浏览: 67
这段代码使用了OpenCV库来读取两张图片,并对它们进行减法操作,得到一个差值图片。具体解析如下:
1. 导入 OpenCV 库
```
import cv2
```
2. 读取两张图片
```
img1 = cv2.imread('./images/sub_img1.png')
img2 = cv2.imread('./images/sub_img2.png')
```
这里使用 `cv2.imread` 函数读取图片,并将其存储在变量 `img1` 和 `img2` 中。图片的路径为 `./images/sub_img1.png` 和 `./images/sub_img2.png`。
3. 将两张图片做差
```
result_img = cv2.subtract(img1, img2)
```
使用 `cv2.subtract` 函数对两张图片进行减法操作,得到一个差值图片,并将其存储在变量 `result_img` 中。
4. 显示原图和处理后的图片
```
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('result_img', result_img)
```
使用 `cv2.imshow` 函数将原图和处理后的图片显示出来,其中第一个参数为窗口名称,第二个参数为要显示的图片。
5. 等待用户按下任意按键退出
```
cv2.waitKey(0)
cv2.destroyAllWindows()
```
使用 `cv2.waitKey(0)` 函数等待用户按下任意按键,然后使用 `cv2.destroyAllWindows()` 函数关闭所有窗口。如果不加这两行代码,窗口会一闪而过,用户无法看到图片。如果想保存处理后的图片,可以使用 `cv2.imwrite` 函数。
阅读全文