图片对比 python 代码
时间: 2023-06-20 12:03:47 浏览: 44
对比图片和代码需要先将图片转换为数字化的数据,然后再用代码进行处理和比较。这个过程涉及到图像处理和机器学习等领域的知识。以下是一些常用的 Python 库和代码示例,可以用于图像处理和对比。
1. PIL 库:Python Imaging Library,用于打开、操作和保存多种图片格式。可以用以下代码打开两张图片进行对比:
```python
from PIL import Image
img1 = Image.open("image1.jpg")
img2 = Image.open("image2.jpg")
if img1.size == img2.size:
print("The images have the same size.")
else:
print("The images have different sizes.")
```
2. OpenCV 库:Open Source Computer Vision Library,用于处理计算机视觉方面的任务,包括图像处理、视频分析等。可以用以下代码对比两张图片:
```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)
blur = cv2.GaussianBlur(gray, (5, 5), 0)
_, thresh = cv2.threshold(blur, 20, 255, cv2.THRESH_BINARY)
cnts, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if len(cnts) == 0:
print("The images are identical.")
else:
print("The images are different.")
```
3. scikit-image 库:用于图像处理和计算机视觉方面的任务。可以用以下代码对比两张图片:
```python
from skimage.measure import compare_ssim
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)
(score, diff) = compare_ssim(gray1, gray2, full=True)
if score == 1:
print("The images are identical.")
else:
print("The images are different.")
```
以上代码仅供参考,实际应用需要根据具体的需求进行修改和调整。