В этой исследовательской статье в разделе 4.3.1 (обнаружение ядра),
Как я могу рассчитать коэффициенты корреляции между двумя пикселями?
public static Complex[,] Correlation(Complex[,]image, Complex[,]mask)
{
Complex[,] convolve = null;
int imageWidth = image.GetLength(0);
int imageHeight = image.GetLength(1);
int maskWidth = mask.GetLength(0);
int maskeHeight = mask.GetLength(1);
if (imageWidth == maskWidth && imageHeight == maskeHeight)
{
FourierTransform ftForImage = new FourierTransform(image); ftForImage.ForwardFFT();
FourierTransform ftForMask = new FourierTransform(mask); ftForMask.ForwardFFT();
Complex[,] fftImage = ftForImage.FourierImageComplex;
Complex[,] fftKernel = ftForMask.FourierImageComplex;
Complex[,] fftConvolved = new Complex[imageWidth, imageHeight];
for (int j = 0; j < imageHeight; j++)
{
for (int i = 0; i < imageWidth; i++)
{
fftConvolved[i,j] = Complex.Conjugate(fftImage[i,j]) * fftKernel[i,j];
}
}
FourierTransform ftForConv = new FourierTransform();
ftForConv.InverseFFT(fftConvolved);
convolve = ftForConv.GrayscaleImageComplex;
Rescale(convolve);
convolve = FourierShifter.FFTShift(convolve);
}
else
{
throw new Exception("padding needed");
}
return convolve;
}
Это правильная процедура для вычисления корреляций?
Если да, как я могу найти из этого коэффициенты корреляции?
Correlation
,Correlation Matching
иCross-correlation
представляют одни и те же вещи? То есть умножение комплексно-сопряженных? en.wikipedia.org/wiki/Cross-correlation#Properties - person user366312   schedule 16.08.2016