How can I vectorize the following code?

1 vue (au cours des 30 derniers jours)
Ba Ba Black Sheep!
Ba Ba Black Sheep! le 28 Juil 2017
Commenté : Image Analyst le 29 Juil 2017
main.m
I = imread('bear.png');
J = rgb2gray(imread('marked_bear.png'));
mask = I-J;
for r=1:size(I,1)
for c=1:size(I,2)
if(mask(r,c))
I = some_function(I, r, c);
end
end
end
imshow(I);
some_function.m
function I = some_function(I, r, c)
% some processing on image 'I'
I(r,c) = 255;
bear.png
marked_bear.png

Réponse acceptée

Image Analyst
Image Analyst le 28 Juil 2017
Like this:
I = imread('bear.png');
J = rgb2gray(imread('marked_bear.png'));
mask = I-J; % Weird, but okay...whatever.
I(mask~=0)=255;
  4 commentaires
Ba Ba Black Sheep!
Ba Ba Black Sheep! le 29 Juil 2017
I was talking about retaining some_function().
Image Analyst
Image Analyst le 29 Juil 2017
OK, then...
function I = some_function(I, J)
mask = I - J;
I(mask ~= 0) = 255;
There. It's vectorized, still has a function, and that function is called "some_function" (instead of MaskI as I had called it), just like you asked for.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Author Block Masks dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by