How manually deselect an object after segmentaion?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Aidin
el 14 de Nov. de 2013
Comentada: Aidin
el 17 de Nov. de 2013
I have been doing Cell segmentation using circular hough transform. I used imfindcircles to detect cells and RemoveOverLap to remove some unwanted overlaps. everything seems to work fine but i need to give the user the ability to deselect any of cells. i have been playing around and because cell detection is based on the center and radius , if i want to delete any of the cells i need both center and radius, i could manage to get the center but no luck with radius. i need to somehow either get the radius or delete segmented cell some other way. below are the codes i am using:

img1 = imread('Overlap_3.jpg');
img = rgb2gray(img1);
threshold = graythresh(img);
img = im2bw(img,threshold);
img = ~img;
img = imfill(img,'holes');
figure, imshow(img);
img = bwareaopen(img,150);
%figure, imshow(img);
[centers, radii] = imfindcircles(img,[30 50],'Sensitivity',0.95,'Edge',0.8);
%figure, imshow(img);
figure, imshow(img1);
hold on
viscircles(centers, radii,'EdgeColor','g')
[centersNew, radiiNew]=RemoveOverLap(centers,radii,40,2);
figure, imshow(img1);
hold on
viscircles(centersNew, radiiNew,'EdgeColor','g');
length(centersNew)
thank you in advanced
0 comentarios
Respuesta aceptada
Image Analyst
el 17 de Nov. de 2013
If you use ginput, then check which of the centers is closest to that will let you know which circle the user pointed to.
Más respuestas (1)
Walter Roberson
el 14 de Nov. de 2013
Take your img and bwlabel it. When the user selects a cell using something like ginput(), round the coordinates to the closest integers, index the label image at that coordinate to find the index of the blob it is. Set all pixels with the same label clear. You can then proceed with finding the circles or whatever.
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!