I need to draw 8 lines in a binary image according to the attached image.

3 次查看(过去 30 天)
How can I do this?
  2 个评论
Walter Roberson
Walter Roberson 2017-11-28
Why 8? I only see 4 lines needed: one circle, and three blue lines that cross the circle.
Marlon Damaceno
Marlon Damaceno 2017-11-29
For my college project!
I need to detect edge irregularities according to dermatological rule ABCD says: "Result of the division of the lesion into 8 edge segments, with each abrupt edge cut equivalent to 1 point (0 to 8 points)".
The circle and the blue lines were only for example. But my actual samples are irregular shapes, how this image for example:

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2017-11-29
This can be done.....I will suggest you a method with functions available..rest you have to follow.
  1. Load the image using imread
  2. Crop the white margins i.e pick only from balck to black using imcrop
  3. Convert rgb image to gray using rgb2gray. This makes black to 0 and white to 255.
  4. Using find function find the white pixels. This gives all points of the white region
  5. Using boundary function get the boundary. This gives irregular curve coordinates which separates white and black. Now you have to play with this curve.
  6. Using pdist or Eucledian distance formula get the length of successive segments..summing this gives length of whole curve.
  7. Now split this length into eight equal parts..and pick those coordinates..joining these gives the lines you want.
Good luck.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by