Date: Apr 22, 2013 7:11 AM
Author: Bruno Luong
Subject: Re: i want to simplify this code

"mohammed " <mido-soft@hotmail.com> wrote in message <kkfhbe$bcl$1@newscl01ah.mathworks.com>...
> thank you alot
> but there are an error in convolution method


If you are dealing with sparse matrix, then you can use this FEX file instead of the builtin CONV2 that does not support sparse matrix:

% http://www.mathworks.fr/matlabcentral/fileexchange/41310
S = sparse(floor(256*rand(500)));
I = zeros(size(S)+2^5-1);

m = size(I,1);
P = 2.^(1:5);
a = [100 200 255 150 50];
for k = 1:length(P)
p = P(k);
b = sconv2(double(S==p),ones(p)) > 0; % FEX
if size(b,1) < m
b(m,end) = false;
end
I(b) = a(k);
end

% Bruno