I'm trying to create an image of alternating black and white stripes. I have the size of the final image, and the size of each white strip (they are all the same width) I'm trying to find a way to do it without using loops.
any ideas?
Thanks

 Réponse acceptée

Image Analyst
Image Analyst le 16 Jan 2015

1 vote

You can create one cycle, then use repmat() to replicate it to build up the entire image:
stripeWidth = 10;
imageRows = 423; % Whatever...
imageColumns = 359; % Whatever...
oneCycle = [255*ones(1, stripeWidth), zeros(1, stripeWidth)];
oneLine = repmat(oneCycle, [1, ceil(imageColumns/stripeWidth)]);
wholeImage = repmat(oneLine, [imageRows, 1]);;
% Crop
wholeImage = wholeImage(1:imageRows, 1:imageColumns);
imshow(wholeImage);
axis on;

Plus de réponses (0)

Catégories

En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by