I want to extract object from an image using the following threshold value program how can i use a filter to get the good result.

4 views (last 30 days)
a=imread('a6.jpg');
m=ones(600,800,3);
c=255.*m;
e=ones(600,800,3)
for i=1:600;
for j=1:800;
if a(i,j,1)<100
if a(i,j,1)>55
c(i,j,1)=a(i,j,1);
if a(i,j,2)<104
if a(i,j,2)>75
c(i,j,2)=a(i,j,2);
if a(i,j,3)<90
if a(i,j,3)>56
c(i,j,3)=a(i,j,3);
end
end
end
end
end
end
end
end
e=c./255;
colormap(jet);
image(e);
...
  5 Comments

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 25 Nov 2013
You cannot get it from thresholding or even combined with texture classification. There is just too much higher level knowledge required. Maybe try this: http://www.mathworks.com/matlabcentral/fileexchange/37197-dem-diffused-expectation-maximisation-for-image-segmentation or similar. But even that won't be perfect. I suggest you use ginput or roipoly to manually locate them (unless you have thousands of images).

Community Treasure Hunt

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

Start Hunting!