9 views (last 30 days)

Show older comments

if true

% code

end

Image Analyst
on 19 Mar 2013

See qtdecomp() in the Image Processing Toolbox.

Image Analyst
on 21 Mar 2013

Alessandro
on 21 Mar 2013

Edited: Alessandro
on 21 Mar 2013

from wikipedia I read the following about image segmentation:

In computer vision, image segmentation is the process of partitioning a digital image into multiple segments (sets of pixels, also known as superpixels). The goal of segmentation is to simplify and/or change the representation of an image into something that is more meaningful and easier to analyze

You need a tree and the "superpixels" values of the tree. I just wannted to understand the sparse objects from matlab so I tryed the qtdecomp function:

%define some grayscale image

I = uint8([1 1 1 1 2 3 6 6;...

1 1 2 1 4 5 6 8;...

1 1 1 1 7 7 7 7;...

1 1 1 1 6 6 5 5;...

20 22 20 22 1 2 3 4;...

20 22 22 20 5 4 7 8;...

20 22 20 20 9 12 40 12;...

20 22 20 20 13 14 15 16]);

%Get where there is information

S = qtdecomp(I,.05);

%Get the information using the simply mean value

erg = sparse(0);

blocks = unique(nonzeros(S));

for blocksize = blocks'

[y x] = find(S==blocksize);

for i=1:length(x)

erg(x(i),y(i)) = mean2(I(y(i):y(i)+blocksize-1,x(i):x(i)+blocksize-1));

end

end

rebuildimage = zeros(size(S));

%Rebuild the image from the mean values in the block

for blocksize = blocks'

[y x] = find(S==blocksize);

for i=1:length(x)

rebuildimage(y(i):y(i)+blocksize-1,x(i):x(i)+blocksize-1) = nonzeros(erg(x(i),y(i)))

end

end

disp(rebuildimage)

So now you can see rebuildimage looks like I. In the matlab sparse arrays S and erg you have the "super pixels" information.

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

Start Hunting!