Я использую Scikits SSIM, чтобы вычислить, насколько похожи 2 изображения, и он работает нормально, за одним исключением. Когда много белых пикселей (скажем, чисто белый фон с очень простой черной контурной формой), они скажут, что они очень похожи, когда фактическая форма на самом деле сильно отличается.
Я пытался найти другие вопросы по этому поводу, но не смог найти тот, который точно ответил на мой вопрос.
Какой-то код:
from skimage.measure import compare_ssim
import numpy as np
import cv2
# With SSIM, compares image A to image B, and returns the result.
def compare_images(imageA, imageB):
return compare_ssim(imageA, imageB)
# Loads an image with a given filepath with imread.
def load_images(filepath):
picture = cv2.imread(filepath)
# Convert the images to grayscale
return cv2.cvtColor(picture, cv2.COLOR_BGR2GRAY)
# compare the images
original = load_images("images/images.png")
contrast = load_images("images/download.png")
result = compare_images(original, contrast)
print(result)
Имейте в виду, я просто новичок в Python. Любая помощь будет приветствоваться.