Azzera filtri
Azzera filtri

Calculate length of white pixels in binary image

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Michael Madelaire
Michael Madelaire il 31 Lug 2019
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?

Accedi per commentare.

Risposte (2)

Eva-Maria Weiss
Eva-Maria Weiss il 31 Lug 2019
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 il 31 Lug 2019
Modificato: KALYAN ACHARJYA il 31 Lug 2019
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.

Prodotti


Release

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by