要比较两个以不同方式进行缩放或压缩的相似图片,可以使用图像处理库OpenCV和Python来实现。下面是一个基本的代码示例:
import cv2
def compare_images(image1, image2):
# 加载图片并转换为灰度图像
img1 = cv2.imread(image1, cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread(image2, cv2.IMREAD_GRAYSCALE)
# 调整图像大小
img1_resized = cv2.resize(img1, (200, 200))
img2_resized = cv2.resize(img2, (200, 200))
# 计算图像的结构相似性指数(SSIM)
ssim_score, _ = cv2.compareSSIM(img1_resized, img2_resized, full=True)
# 打印相似性指数
print("SSIM Score:", ssim_score)
# 显示图像
cv2.imshow("Image 1", img1_resized)
cv2.imshow("Image 2", img2_resized)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 调用函数进行比较
compare_images("image1.jpg", "image2.jpg")
上述代码中,首先使用OpenCV的imread()
函数加载两个图片并转换为灰度图像。然后,使用resize()
函数调整图像的大小为200x200像素,以便进行比较。接下来,使用compareSSIM()
函数计算两个图像的结构相似性指数(SSIM)。最后,打印出相似性指数并显示调整后的图像。
请确保安装了OpenCV库,并将image1.jpg
和image2.jpg
替换为要比较的实际图像文件路径。