MATLAB: Creating arcode like image

image processing

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

Best Answer

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;