Morphological dilation in a certain direction
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dilation by creating structuring element will dilate in all direction, but I want to do dilation in a particular direction, say 70 degree from a particular pixel. I understand that I need to write a self-adaptive function, but how? For example, I have a line with slope of 70 degree. I want to increase the length of the line in both end (by dilation). If i use "bwmorph()", it increases in all direction, But I need only in one direction.
0 commentaires
Réponse acceptée
Image Analyst
le 27 Mar 2015
Not sure why you think "Dilation by creating structuring element will dilate in all direction" - it's just not true. For example to dilate only along the vertical direction, make a column vector:
se = true(15, 1); % 15 rows tall by one column wide column vector.
dilatedImage = imdilate(binaryImage, se);
So go ahead and make a 2D binary array with a line of "true"s at 70 degrees.
Plus de réponses (1)
Tanmoy
le 9 Avr 2015
1 commentaire
Image Analyst
le 10 Avr 2015
So make up a kernel with a line of ones running along that direction. To get a precise direction you will have to have a very large kernel since with a 3x3 you have only 0, 45, and 90 degrees since you can go only horizontal, diagonally, or vertically.
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!