How to create an image that has random chunks of black and white pixels
13 views (last 30 days)
Show older comments
I would like to create an image (1920 x 1080) that looks like the image below. How do I create something like this? Black and white spots can be randomly placed
0 Comments
Accepted Answer
Adam Danz
on 27 Sep 2021
Edited: Adam Danz
on 28 Sep 2021
Specify imageSize and blockScale to create randomly placed blocks of black and white pixels.
imageSize = [1920,1080]; % [width, height]
blockScale = 40; % larger values create larger blocks
blocksize = round(imageSize/blockScale);
data = randi(2,fliplr(blocksize))-1;
B = imresize(data, fliplr(imageSize),'nearest');
imagesc(B)
colormap([0 0 0; 1 1 1])
axis equal
axis tight
set(gca, 'xtick', [], 'ytick', [], 'LineWidth', 5) % add frame
If you just want random black and white pixels,
B = randi(2,[1080,1920])-1;
figure()
imshow(B)
0 Comments
More Answers (1)
yanqi liu
on 28 Sep 2021
clc; clear all; close all;
% init image (1920 x 1080)
A = zeros(1080,1920);
% choose white
ind1 = randperm(numel(A(:)));
rate = 0.3;
xt = ind1(1:round(length(ind1)*rate));
A(xt) = 1;
A([1 end],:)=0;
A(:,[1 end])=0;
figure; imshow(logical(A));
0 Comments
See Also
Categories
Find more on Red in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!