Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

2-D correlation coefficient

`r = corr2(A,B)`

r = corr2(gpuarrayA,gpuarrayB)

`r = corr2(A,B)`

returns the
correlation coefficient `r`

between `A`

and `B`

,
where `A`

and `B`

are matrices or
vectors of the same size. `r`

is a scalar `double`

.

`r = corr2(gpuarrayA,gpuarrayB)`

performs
the operation on a GPU. The input images are 2-D gpuArrays of the
same size. `r`

is a scalar `double`

gpuArray.
This syntax requires the Parallel Computing Toolbox™.

`A`

and `B`

can be numeric
or logical. The return value `r`

is a scalar `double`

.

`gpuarrayA`

and `gpuarrayB`

must
be real, 2-D gpuArrays. If either `A`

or `B`

is
not a gpuArray, it must be numeric or logical and nonsparse. `corr2`

moves
any data not already on the GPU to the GPU. `R`

is
a scalar double gpuArray.

Compute the correlation coefficient between an image and the same image processed with a median filter.

```
I = imread('pout.tif');
J = medfilt2(I);
R = corr2(I,J)
```

R = 0.9959

Compute the correlation coefficient on a GPU between an image and the same image processed using standard deviation filtering.

```
I = gpuArray(imread('pout.tif'));
J = stdfilt(I);
R = corr2(I,J)
```

R = 0.2762

`corr2`

computes the correlation coefficient
using

$$r=\frac{{\displaystyle \sum _{m}{\displaystyle \sum _{n}({A}_{mn}-\overline{A})({B}_{mn}-\overline{B})}}}{\sqrt{\left({\displaystyle \sum _{m}{\displaystyle \sum _{n}{\left({A}_{mn}-\overline{A}\right)}^{2}}}\right)\left({\displaystyle \sum _{m}{\displaystyle \sum _{n}{\left({B}_{mn}-\overline{B}\right)}^{2}}}\right)}}$$

where $$\overline{A}$$ `=`

`mean2(A)`

,
and $$\overline{B}$$ `=`

`mean2(B)`

.

Was this topic helpful?