How to calculate the correlation coefficient in an image?
16 ビュー (過去 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.
0 件のコメント
回答 (2 件)
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
2021 年 6 月 6 日
hello Ali
i am using this code put how can calcalate corr in direction ( hor.,ver.,dig.)
Thanks
Ranjit Shrestha
2022 年 1 月 31 日
what if we have more than two images? I mean a sequence of images.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!