Drawing perpendicular lines to the medial axis

I am trying to find the features of these kinds of chromosomes. I have extracted the medial axis of the chromosome using skeletonization function.The code goes like this:
c1 = imread('chromosome1.bmp'); c2 = bwmorph(BW1,'skel',Inf); imshow(BW1) figure, imshow(BW2)
I was able to identify the medial axis of the chromosome. Now i have to identify the centromere position of the chromosome that is highly constricted compared to the rest of the length of the chromosome. I have to draw perpendicular lines to the medial axis between the boundaries of the chromosome.
(Note: chromosome is not always straight but also curved so that the perpendicular axis need not lie on the same row of the image.)
Kindly help me with a matlab code and logic to draw perpendicular lines for the medial axis and find the shortest perpendicular line.

2 Comments

hi sivasakthi...
you can use this.. so that you can get the centre line alone I = imread('chromosome1.bmp'; J = rgb2gray(I); a = imcomplement(J); b = im2bw(a, 0.1); b2 = imfill(b,'holes'); c = bwmorph(b2,'skel',inf); d = bwmorph(b2,'thin', inf);
hi sivasakthi... I too in need of matlab code to locate the centromere position

Sign in to comment.

Answers (1)

Attached is my newest demo (below the image in blue text). It finds the longest line in the blob, and then the line perpendicular to that (at the mid point) and calculates the length of both.

Asked:

on 10 Sep 2012

Answered:

on 25 May 2014

Community Treasure Hunt

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

Start Hunting!