image processing - Finding the concavness pixel/point in binary map using Matlab -


given binary mask object in matlab. going find concavity point of object boundary. concavity point mean here deepest concavity point respect euclidean distance convex hull chords k_1, k_2 ,and k_3 in concavity regions b_1, b_2, b_3, respectively. red dot indicates concavity point want find, in concavity region b_1 draw 3 lines perpendicular chord k_1, deepest concavity point middle 1 since has largest length.

enter image description here

anyone have efficient way/code that? thanks.

another figure below gives example convex hull, red dot indicates valid concavity point.

enter image description here

efficient relative...

how computing convex hull (there standard algorithms it) , shrinking until inside object boundaries. last point touching desired concavity point.

alternative strategy:

  • calculate convex hull
  • find differences between convex hull , object boundary (have straight lines, k1 k2 k3 in case)
  • for every line, rotate image such line horizontal
  • take lowest pixel of object boundary below line

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -