How to perform multiple AND operations inside the loop?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
peyush
el 22 de Jul. de 2015
Comentada: peyush
el 24 de Jul. de 2015
I have a binary image "I", and 40 binary images "test01" to "test40"...all the images have same resolution...I want to AND the image I with the 40 test images one by one and then take the sum to find out the maximum sum to get the best matching image...how to perform ANDing using loop instead of doing it multiple times...thanks in advance
3 comentarios
Respuesta aceptada
Jon
el 23 de Jul. de 2015
Editada: Jon
el 23 de Jul. de 2015
Why not just
sum(abs(imsubtract(im1,im2)))
which will return the number of pixels that are different between im1 and im2. There are much more sophisticated ways, but this is a decent start.
3 comentarios
Jon
el 24 de Jul. de 2015
If you can't figure that out, you might be in over your head. Just put it in a loop, e.g.
im_to_match = I; % the image for which you're looking for a best match
imsum(40) = 0; % preallocate solution
for i = 1:40
im2compare = yourimagestructure(i); % call the image you want to compare against
imsum(i) = sum(abs(imsubtract(im_to_match,im2))); % do the comparison
end
[~,best_match_i] = min(imsum); % returns the image with fewest differences (in a pixel-by-pixel sense)
Más respuestas (1)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!