MATLAB Answers

what does this code mean?

Asked by satish thapaliya on 20 Nov 2012

1/(mean(mean(I1(xy_index(2)+(-7:7),xy_index(1)+(-7:7),1)))/mean(mean(I2(xy_index(2)+(-7:7),xy_index(1)+(-7:7),1))))

  0 Comments

Products

No products are associated with this question.

2 Answers

Answer by satish thapaliya on 20 Nov 2012
 Accepted answer

Thanks Roberson

  0 Comments


Answer by Matt Fig
on 20 Nov 2012
Edited by Matt Fig
on 20 Nov 2012

It appears to be finding the ratio of the mean values of two 15 element square subarrays, each from a different array.

  4 Comments

satish thapaliya on 20 Nov 2012

the whole command for the first set of image was as follow

I1 = imread('E:\allergen-data\20120823\folder 3\3.BMP');
subplot(211)
imshow(I1)
I2 = imread('E:\allergen-data\20120823\folder 2\14.BMP');
subplot(212)
imshow(I2)
I1 = rgb2gray(I1);
I2 = rgb2gray(I2);
xy_index = [310 820];
1/(mean(mean(I1(xy_index(2)+(-7:7),xy_index(1)+(-7:7),1)))/mean(mean(I2(xy_index(2)+(-7:7),xy_index(1)+(-7:7),1))))

it displays ans in the value between 0 to 1. could you help what is it actually?

Walter Roberson
on 20 Nov 2012

It is not a gray scale value. It is "something else".

It does not produce a value between 0 and 1: it can produce infinity in some cases.

The expression is of the form 1 / (A / B) . That could be rewritten as B/A, which makes it clearer that what it produces is a ratio of the grayscale intensities of the mean color of the respective two blocks.

satish thapaliya on 20 Nov 2012

Thanks Roberson


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today