Я рассчитываю индекс структурного сходства между двумя изображениями. Я не понимаю, какой должна быть размерность. Оба изображения (эталонное и целевое) являются изображениями RGB.
Если я сформирую свое изображение как (256 * 256, 3), я получу:
ref = Image.open('path1').convert("RGB")
ref_array = np.array(ref).reshape(256*256, 3)
print(ref_array.shape) # (65536, 3)
img = Image.open('path2').convert("RGB")
img_array = np.array(img).reshape(256*256, 3)
print(img_array.shape) # (65536, 3)
ssim = compare_ssim(ref_array,img_array,multichannel=True,data_range=255)
Результат - 0.0786
.
С другой стороны, если я изменю форму на (256, 256, 3):
ref = Image.open('path1').convert("RGB")
ref_array = np.array(ref)
print(ref_array.shape) # (256, 256, 3)
img = Image.open('path2').convert("RGB")
img_array = np.array(img)
print(img_array.shape) # (256, 256, 3)
ssim = compare_ssim(ref_array, img_array, multichannel=True, data_range=255)
Результат будет 0.0583
Какой из двух результатов правильный и почему? Документация ничего не говорит об этом, так как это, вероятно, концептуальная проблема.