Effacer les filtres
Effacer les filtres

How to dilate a straight line width?

9 vues (au cours des 30 derniers jours)
peyush
peyush le 16 Juil 2015
Commenté : peyush le 17 Juil 2015
I have a binary image having a finite straight line at arbitrary angle...I need to dilate the image in such a way that the line width increases after dilation without changing/dilating its length...how should I do this...any help is highly appreciated

Réponse acceptée

Image Analyst
Image Analyst le 17 Juil 2015
It's just a bit of algebra. You need to find the perpendicular lines at the endpoints. The slope is -1 over the slope of the main line. Then you can use point slope formula like you learned in 10th grade. Do that for each endpoint. I think you can do this because you're a talented engineer. Then use the 4 line segment endpoints and plug into poly2mask(). Then dilate and multiply by the mask to "chop off" the ends.
mask = poly2mask(x,y,rows,columns);
fatLineImage = imdilate(binaryImage, true(30));
finalImage = fatLineImage .* uint8(mask);
  1 commentaire
peyush
peyush le 17 Juil 2015
thanks I got it right

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by