Как найти корреляцию между двумя изображениямиPython

Программы на Python
Anonymous
Как найти корреляцию между двумя изображениями

Сообщение Anonymous »

Мне нужно найти корреляцию между двумя изображениями, используя только numpy, но только базовую математику. У меня проблема: "*
IndexError: индекс 5434 выходит за пределы оси 0 с размером 5434*
". И у меня есть код. Подскажите, пожалуйста, что делать.

Код: Выделить всё

img = PIL.Image.open("SR1.png").convert("L")
im = numpy.array(img)
img2 = PIL.Image.open("SR61.png").convert("L")
im2 = numpy.array(img2)
np.array(im,dtype=float)
np.array(im2,dtype=float)
import math
import cmath
def correlationCoefficient(X, Y, n) :
sum_X = 0
sum_Y = 0
sum_XY = 0
squareSum_X = 0
squareSum_Y = 0

i = 0
for i in range(n) :
sum_X = sum_X + X[i]
sum_Y = sum_Y + Y[i]
sum_XY = sum_XY + X[i] * Y[i]
squareSum_X = squareSum_X + X[i] * X[i]
squareSum_Y = squareSum_Y + Y[i] * Y[i]

i = i + 1

corr = (n * sum_XY - sum_X * sum_Y)/(cmath.sqrt((n * squareSum_X - sum_X * sum_X)* (n * squareSum_Y - sum_Y * sum_Y)))
return corr

X = im.flatten()
Y = im2.flatten()

n = len(X)

print ('{0:.6f}'.format(correlationCoefficient(X, Y, n)))
Изображение


Подробнее здесь: https://stackoverflow.com/questions/596 ... two-images

Вернуться в «Python»