How to calculate the correlation coefficient in an image?

20 次查看(过去 30 天)
In order to find the correlation between two adjacent pixels (horizontal, vertical and diagonal), I have randomly selected 3000 pairs of adjacent pixels from the original and encrypted images. I used the inbuilt MATLAB function corrcoef but I'm not getting the result. Do I need to find the mean, variance and covariance of the pixels before calculating the correlation coefficient?If I do where do I use it in the function? This function doesnt seem to use any of the values. I used the following code to calculate for horizontally adjacent pixels
m1 = A(:,1:end-1,1); %# All rows and columns 1 through 255
n1 = A(:,2:end,1); %# All rows and columns 2 through 256
% A is the original image
randIndex1 = randperm(numel(m1)); %# A random permutation of the integers
%# from 1 to numel(m1)
randIndex1 = randIndex1(1:3000); %# Pick the first 3000 indices
m1Rand = m1(randIndex1); %# 3000 random values from m1
n1Rand = n1(randIndex1); %# The corresponding 3000 values from n1
r_mn1 = corrcoef(m1Rand(:),n1Rand(:)); disp('r_mn1=');disp(r_mn1);
I do have the formulas for calculating mean, variance, covariance and correlation coefficient.I want to know whether the inbuilt function can be used in this case or should I calculate using the formulas? Please help. Thanks in advance.

回答(2 个)

Ali Broumandnia
Ali Broumandnia 2017-1-11
编辑:Walter Roberson 2018-4-29
function r_xy=AdjancyCorrPixel( P )
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
x1 = double(P(:,1:end-1));
y1 = double(P(:,2:end));
randIndex1 = randperm(numel(x1));
randIndex1 = randIndex1(1:3000);
x = x1(randIndex1);
y = y1(randIndex1);
r_xy = corrcoef(x,y);
scatter(x,y);
xlabel('Pixel gray value on location (x,y)')
ylabel('Pixel gray value on location (x+1,y)')
end
  2 个评论
Wisal Adnan
Wisal Adnan 2021-6-6
hello Ali
i am using this code put how can calcalate corr in direction ( hor.,ver.,dig.)
Thanks
Abubakar Abba
Abubakar Abba 2021-9-22
Hello, @Wisal Adnan Have you done the calculation for Hori Corr?

请先登录,再进行评论。


Ranjit Shrestha
Ranjit Shrestha 2022-1-31
what if we have more than two images? I mean a sequence of images.

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by