How to Create Alternating Black Columns Across an Image?

4 visualizaciones (últimos 30 días)
Richard Zareck
Richard Zareck el 10 de Sept. de 2017
Comentada: Jose Marques el 10 de Sept. de 2017
I have an image X and I would like to create black columns going across the image that are 16 pixels thick with a distance of 16 pixels between each column and I have no idea how to do this. The best I could do was make one column using this line of code:
X(:,1:16,:) = 0;
Also I am not allowed to solve the problem using loops.

Respuesta aceptada

Jose Marques
Jose Marques el 10 de Sept. de 2017
Hello Richard! You can try this:
size_of_column = 16;
img = imread('image_exemple.jpg');
imshow(img);
mask = zeros(size(img));
for i=1:size(mask,2)
if(mod(round(i/size_of_column),2) == 1)
mask(:,i,:) = 1;
end
end
figure();
img_final(:,:,:) = uint8(double(img(:,:,:)).*mask(:,:,:));
imshow(img_final)
The result:
  6 comentarios
Richard Zareck
Richard Zareck el 10 de Sept. de 2017
Thank you for your help this works as well!

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 10 de Sept. de 2017
  2 comentarios
Richard Zareck
Richard Zareck el 10 de Sept. de 2017
I need my picture to look like this
Walter Roberson
Walter Roberson el 10 de Sept. de 2017
clown(:, 1:32:end, :) = 0;
clown(:, 2:32:end, :) = 0;
clown(:, 3:32:end, :) = 0;
...
clown(:, 16:32:end, :) = 0;

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by