finding maximum abs value of four images
Show older comments
I have four 16x16 images.I want to form another image by taking the maximum abs value of all four values of a particular pixel e.g. by comparing I1(3,3),I2(3,3),I3(3,3) and I4(3,3),I will be getting I5(3,3).
my piece of code is:
for k:4
.......
figure,imshow(B);
s=size(B)
eval(sprintf('im_%d=B;',k));
end
1 Comment
Jan
on 16 Mar 2013
Avoid using EVAL to hide an index in the name of a variable. It is much easier, nicer and more efficient to use an index as index:
im = cell(1, 4);
for k = 1:4
...
im{k} = B;
end
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 16 Mar 2013
[n,m]=size(im1);
for k=1:n
for p=1:m
v=[im1(k,p) im2(k,p) im3(k,p) im4(k,p)];
[~,idx]=max(abs(v));
im(k,p)=v(idx);
end
end
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!