拍摄两张图片.对比图片内容.进行结果输出的代码
时间: 2023-06-17 14:07:41 浏览: 39
这里是使用Python和OpenCV库实现图片对比的代码:
```python
import cv2
# 读取两张图片
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 将图片转换为灰度图
gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
# 计算两张图片的差异
diff = cv2.absdiff(gray1, gray2)
# 将差异图二值化
thresh = cv2.threshold(diff, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
# 计算差异图中的轮廓
contours, hierarchy = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历所有轮廓,画出边界框
for c in contours:
(x, y, w, h) = cv2.boundingRect(c)
cv2.rectangle(img1, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.rectangle(img2, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示对比结果
cv2.imshow('image1', img1)
cv2.imshow('image2', img2)
cv2.waitKey(0)
```
在这个代码中,我们首先读取了两张图片,并将它们转换为灰度图。然后,我们计算了两张图片的差异,并将差异图二值化。接着,我们使用`cv2.findContours()`函数计算差异图中的轮廓,并使用`cv2.rectangle()`函数画出每个轮廓的边界框。最后,我们将对比结果显示出来。
需要注意的是,在运行代码之前,需要先安装OpenCV库。可以使用以下命令在命令行中安装:
```
pip install opencv-python
```