MATLAB Answers


i dont know how to calculate the coorelation of corresponding pixels of the blocks that have the same value.

Asked by pammy
on 31 Mar 2013

i've divided the image into discrete blocks and then i've calculated the corresponding mean value of each and every block. the mean value of some of the blocks are same or some have different value i.e block 32,43 and 65 have same value, block 67,89 and 12 have same value.

 now i want to calculate the coorelation of corresponding pixels of the blocks that have the same value i.e.
      the correlation between the first pixels of 32,43 and 65 block.....then correlation among second pixels of these blocks and so on....then avg these 

as i m novice i dont know how to calculate the correlation of corresponding pixels of the block...


1 Answer

Answer by Image Analyst
on 31 Mar 2013
 Accepted answer

What about this:

correlationImage = xcorr2(block53, block32);


on 3 Apr 2013

i've used theur code in my code as:

 for i=1:length(u)
        fprintf(' %d ',matchBlock);
        for k1=1:L
           for k2=k1:L
               fprintf('\ncorrelation %f',correlation);

here 'S' stores all the GLCM MEAN values.

'u' = extract uniques values from S( from GLCM MEAN values)

'matchIndex' is where S and u finds the same value i.e match

'count' is the variable which gives the length of elements having same value i.e block32 block 45 and block67 having same GLCM MEAN value so its count will be 3 and so on....

 i m interested in the count values which have blocks >1. thats y i've used the condition if(count>1)

B1 is the set of array i.e at one time it will be [block32 block45 block 65](because of glcm mean values are same i.e 1241).

next i've calculated the correlation as u told me...

plz check it that it is correct or not.. if it is incorrect then plz help me by correcting it...

I'm sorry I can't spend as much time on your project as you'd want me to. I don't know how you get your blocks. Maybe you used mat2cell or something. But however you got them, you have to get them into two arrays so that you can pass them into xcorr2(). Whether that is by pulling them out of a cell in a cell array or pulling them out of a plane of a 3D image, I don't know. Do whatever you have to do to get the two sub-images. I don't have time to figure that part out for you. Sorry.

on 8 Apr 2013

sir m not using mat2cells, m using indexing techniques like:


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!