segmentation of some overlapped portions in the cell image ?
조회 수: 1 (최근 30일)
이전 댓글 표시
In the attached output image, there are some red boundaries which contains more than one blue asterik, here i need to segment the overlapped portion such that each red boundary contain one blue asterik. If there are two blue asterik in a red boundary, then segement that red boundary into two boundaries such that each boundary has blue one asterik and simlairly if more than two blue asterik are present in a red boundary.
I have thought of a technique but unable to implement it in matlab. Lets take the case of two blue asterik in a red boundary. I will join the two blue asterik by a straight line and then draw a line perpendicular(lets name it as line 1) to it. Now, find the point of intersection of the line 1 and red boundary. draw two line parallel to the line 1 passing the red boundary three points behind and after the point of intersection. Now we will have two closed curve each having one blue asterik. I am not so good at programming, please help me out, Feel free to ask for any clarifications regarding the question.
you have to download the excel file containg the co-ordinate of the blue asterik and the image where i have drawn red boundary, this part i have completed.
clc;
clear all;
close all;
Icell = imread('10_GFP.jpg');
Icellgray = rgb2gray(Icell);
level = 0.18;
Ithresh_cell_1 = im2bw(Icellgray, level);
Ifilled = imfill(Ithresh_cell_1, 'holes');
Ithresh_cell_1 = bwareaopen(Ifilled, 245);
boundaries = bwboundaries(Ithresh_cell_1);
numberOfBoundaries = size(boundaries, 1);
centroid = xlsread('Centriod_nucleus.xlsx')
imshow(Ithresh_cell_1);
hold on;
plot(centroid(:,1), centroid(:,2), 'b*');
hold on;
for k = 1 : numberOfBoundaries
thisBoundary = boundaries{k};
plot(thisBoundary(:,2), thisBoundary(:,1), 'R', 'LineWidth', 2);
hold on;
end
hold off;
댓글 수: 0
답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!