Calculate length of white pixels in binary image

1 次查看(过去 30 天)
bbbb.PNG
I want to calculate the length in pixels of the white pixels at the bottom of the image assuming it is a line without breaks without manually using imdist tool.
Thanks in advance.
  1 个评论
Michael Madelaire
Michael Madelaire 2019-7-31
You should include a data file, such that people willing to help can have a look.
Additionally tou should state some constratints. Is a line only defined if the as being the same row? or can it be diagonally displaced? If so, then how much?

请先登录,再进行评论。

回答(2 个)

Eva-Maria Weiss
Eva-Maria Weiss 2019-7-31
Hi!
Assuming that approximating the lineshape structure in the bottom area of your oicture as a line you could try the following
  1. Extract the bottom part of your pictur
subFrame = yourPic(rowmiddl:end,:)
2. Now you can find the indices of white pixels by
idx = find(subFrame) %looks for non-zero elements, returns a list
3. Convert linea indexing to subscripts by
[r,c] = ind2sub(size(subFrame),idx)
4. The next step could simply mathematically solved by pythagoras?
qNumbPix = (r(end)-r(1))^2 + (c(end)-c(1))^2
NumbPix = sqrt(qNumbPix
I hope this will help!
Good Luck!

KALYAN ACHARJYA
KALYAN ACHARJYA 2019-7-31
编辑:KALYAN ACHARJYA 2019-7-31
Lets, image_bw is the binary image.(Please not your enclosed image have white boundary, I ignored that)
se=strel('disk',4);
result=imdilate(image_bw,se);
result=bwareafilt(result,1,'Largest');
result=imerode(result,se);
figure,imshow(result);
Next: Find the maximum distance between two white pixels, number of similar question already answered by @ImageAnalyst and @Walter, please do search see here too.
I hope you can do that, please try if not, let me know.

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by