What would be the outcome of this line?

1 visualizzazione (ultimi 30 giorni)
Stelios Fanourakis
Stelios Fanourakis il 25 Feb 2019
Commentato: Rik il 25 Feb 2019
Hi
If I use this line code
for col = col1 : col2
row2 = find(mask(:, col), 1, 'last'); % Get bottom row of mask
heights(col) = row2 - topRow;
end
The heights will be a number of pixel intensity (e.g. pixel intensity value of X - pixel intensity value of Y) OR will be a number of pixels (e.g. 320 - 310 pixels = 10 pixels)??
Can you please clarify?
Thank you
  2 Commenti
Stelios Fanourakis
Stelios Fanourakis il 25 Feb 2019
Ok, now I know that the above line gives an arithmetic value, like 320-310 = 10 pixels.
But why when I use the line
heights(col) = rgbImage(320,col) - rgbImage(340,col);
I get the difference of pixel intensity values of those two pixels on the image? What's the difference between those two lines?
For instance if the pixel at position X: 320 Y: 454 has value of RGB: 88
And the pixel at position X: 340 Y: 454 has value RGB: 90
I will get result 2.
Why should I get result of 2 and NOT 20 which is the number of pixels between the two points?
Can someone explain clearly the difference?
Rik
Rik il 25 Feb 2019
You are subtracting positions to get a distance, you are subtracting values to get an intensity difference.
Since in this line
heights(col) = rgbImage(320,col) - rgbImage(340,col);
you're doing the second, it stands to reason you get an intensity difference, not a distance.

Accedi per commentare.

Risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by