Python 图像对比
时间: 2023-10-09 12:12:08 浏览: 41
在 Python 中,可以使用 OpenCV 和 scikit-image 库来实现图像对比功能。这里以 OpenCV 为例介绍一下如何进行图像对比。
首先,需要安装 OpenCV:
```
pip install opencv-python
```
接下来,可以使用 `cv2.absdiff()` 函数计算两幅图像的差异,并使用 `cv2.threshold()` 函数将差异图像二值化:
```python
import cv2
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
diff = cv2.absdiff(img1, img2)
gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY)
cv2.imshow('diff', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码将读取两幅图像 `image1.jpg` 和 `image2.jpg`,并计算它们的差异。然后将差异图像转换为灰度图像,并进行二值化处理。最后将结果展示出来。
另外,还可以使用 `skimage.measure.compare_ssim()` 函数计算两幅图像的结构相似性指标(SSIM):
```python
from skimage.measure import compare_ssim
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
score, diff = compare_ssim(gray1, gray2, full=True)
print("SSIM: {}".format(score))
```
上述代码将读取两幅图像 `image1.jpg` 和 `image2.jpg`,并计算它们的结构相似性指标(SSIM)。最后将结果打印出来。