remove the edges present outside the circle

1 view (last 30 days)
i am able to detect the circle in an eye image but along with circle i am also getting other extra edges . how do i remove that?please help i have uploaded both original image008_1_1.jpg and processed image 100.png
gray=imread('008_1_1.jpg');
%gray=rgb2gray(gray);
t4=imresize(gray,[512,512],'bilinear');
%imshow(t4);
%set(gcf,'Units','Normalized','OuterPosition',[0 0 1 1]);
binary=imbinarize(t4,.4);
%imshow(binary);
%binary=imcrop(binary);
g=fspecial('gaussian',[512 512],15);
ig=imfilter(binary,g,'same');
bw2=edge(ig,'canny',0.53,10);
%k=get(handles.id1,'String');
filen=['100.png'];
%basefile=sprintf('%d.png',k);
fullfilenam=fullfile('C:\Users\AKSHATHA\Documents\MATLAB\database\eyeimages',filen);
imwrite(bw2,fullfilenam);

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 6 May 2019
Edited: KALYAN ACHARJYA on 6 May 2019
Is this one you are looking for? This bwareafilt extract objects from binary image by size.
Here assuming that the circle size is maximum in all cases, if not result will different
result=bwareafilt(binary_image,1);
imshow(result);
Hope it Helps!

Community Treasure Hunt

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

Start Hunting!