Filter löschen
Filter löschen

how to store the image into another matrix?

1 Ansicht (letzte 30 Tage)
ravi
ravi am 31 Aug. 2013
I am trying to extract the object from the image i am using the code as
i = imread('2.jpg');
p = rgb2gray(i);
figure, imshow(p);
[r, n] = size(p);
%q = r/2;
l = n/2;
for j=1:r
for k=1:l
i1(j,k)=p(j,k);
end
end
for j1=1:r
for k1=l:n
i2(j1,k1)=p(j1,k1);
end
end
n1 = p(:,1 : end/2);
n2 = p(:,end/2+1 : end);
%figure,imshow(n1);
%figure, imshow(n2);
diff = imhist(n2)-imhist(n1);
thre = 100 * graythresh(diff);
disp(thre);
c = zeros(size(p));
%a = size(p);
[r2, n3]=size(p);
for j2=1:r2
for k2=1:n3
if p(j2,k2) < thre
c(j2,k2)=p(j2,k2);
else
c(j2,k2)=0;
end
end
end
disp(c);
figure, imshow(c);
i2 = edge(c,'sobel',0);
figure,imshow(i2);
se = strel('square',2);
i22 = imclose(i2,se);
% figure,imshow(i2);title('canny');
figure,imshow(i22);title('close line');
se = strel('square',2);
%se0 = strel('line',4,0);
i3 = imdilate(i22,se);
i4 = imfill(i3,'holes');
%[Ilabel num] = bwlabel(i4);
BW2 = bwareaopen(i4, 1000);
%d=bwmorph(BW2,'remove');
d=medfilt2(BW2,[3 3]); %median filter
%e=imclearborder(d);
[L,NUM]=bwlabel(d);
disp(L);
figure, imshow(p);title('gray');
figure, imshow(i2);title('sobel');
% figure, imshow(i3);title('dilate');
% figure, imshow(i4);title('fill holes');
figure, imshow(BW2);title('connected');
figure, imshow(d);title('median filter');
%figure, imshow(e);title('clear border');
%figure, imshow(i11);title('adjust');
m=1;
for i=1:NUM
figure,imshow(L==i),title('object i');
% [r1, n1] = size(L==i);
% for k=1:r1
% for l=1:n1
% jm(k,l) = L(k,l);
% end
% end
% m=m+1;
pause(1);
end
%figure, imshow(j1);
disp(NUM);
I am successful upto displaying the objects individually. But the problem is i am unable to store the image with objects individually into another matrix for my use
please any one help me to store the each object individually into new matrix.
thanks in advance who help me.

Antworten (1)

Image Analyst
Image Analyst am 31 Aug. 2013
See my Image segmentation tutorial: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 where I do exactly that. Each object goes into it's own image using the bounding box (because, of course, images must be rectangular arrays).
  2 Kommentare
ravi
ravi am 31 Aug. 2013
Bearbeitet: ravi am 31 Aug. 2013
K i will go through your tutorial thank you so much Image Analyst sir.
ravi
ravi am 2 Sep. 2013
Image Analyst sir, please run the above program with the image
at last the objects in the image is displayed individually and i want those output images to store in the new matrix so that i want draw the box around that objects. So please help me how to save those two images and how to use them further in the same program to draw the box around it.
Thanks in advance

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by