How to Create Alternating Black Columns Across an Image?

6 ビュー (過去 30 日間)
Richard Zareck
Richard Zareck 2017 年 9 月 10 日
コメント済み: Jose Marques 2017 年 9 月 10 日
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.

採用された回答

Jose Marques
Jose Marques 2017 年 9 月 10 日
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 件のコメント
Richard Zareck
Richard Zareck 2017 年 9 月 10 日
Thank you for your help this works as well!
Jose Marques
Jose Marques 2017 年 9 月 10 日
Nice work!

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2017 年 9 月 10 日
  2 件のコメント
Richard Zareck
Richard Zareck 2017 年 9 月 10 日
I need my picture to look like this
Walter Roberson
Walter Roberson 2017 年 9 月 10 日
clown(:, 1:32:end, :) = 0;
clown(:, 2:32:end, :) = 0;
clown(:, 3:32:end, :) = 0;
...
clown(:, 16:32:end, :) = 0;

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by