Why my plot doesn't seem correct?

4 views (last 30 days)
Stelios Fanourakis
Stelios Fanourakis on 10 Oct 2019
Hi
I am using a binary image of white and black pixels (see attached image). I want to plot the white area of pixels so I am using a code to count from top white pixel to the last white pixel of the pic.
heights = zeros(1, columns);
for col = 1 : size(seg,2)
thisColumn = seg(:, col);
topRow = find(thisColumn, 1, 'first');
bottomRow = find(thisColumn, 1, 'last');
heights(col) = bottomRow - topRow; % Add 1 if you want.
end
plot(heights(:))
But plot doesn't seem right (see attached image). it should had the form and shape of the white area of the image, means a rectangle with a steep bottom.
Any reason why plot doesn't seem correct?
Thanks
  3 Comments
Hemant Verma
Hemant Verma on 11 Oct 2019
It would be helpful if you could provide a bit more clarification by :
  1. Stating clearly what do you want to plot ? By saying "I want to plot the white area of pixels", do you mean you want to plot number of white pixels in each column of image vs the indices of column?
  2. Providing a .png file of the image (only) you intend to work on (because the one you have attatched contains the image, your plot and background, its difficult to separate the image from background)
Stelios Fanourakis
Stelios Fanourakis on 12 Oct 2019
Yeah sorry for the inconveniece but at the end I think it's correct. The white area of the image begins just underneath the title "Global Region -Based Segmentation". So the plot should like an horizontal line but it looks like a vertical one. However, if you notice the vertical line of the axes in the plot you'll see that this sharp vertical transition is only a pixel from 30-31 and it may belong to those little discrepancies of one pixel that are apparent a bit left of the real image. So I assume the plot is eventually correct. Thanks for your time

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!