What would be the outcome of this line?

1 次查看(过去 30 天)
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 个评论
Stelios Fanourakis
Stelios Fanourakis 2019-2-25
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 2019-2-25
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.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by