Borrar filtros
Borrar filtros

Creating a mat file with binary mask

4 visualizaciones (últimos 30 días)
Gulfam Saju
Gulfam Saju el 21 de Abr. de 2022
Comentada: Gulfam Saju el 9 de Mayo de 2022
I want to create a 256*256 mask.mat file, where the middle 32 lines will be white (binary 1) and in there will be 30 lines of 1, randomly other than these 32 lines. I tried the below code: what should I add:
row = 256;
col = 256;
mask = zeros(row, col);
mask(:, 113:144) = 1;
figure, imshow(mask);
save("new-created-mask.mat", "mask");

Respuesta aceptada

Voss
Voss el 21 de Abr. de 2022
row = 256;
col = 256;
mask = zeros(row, col);
% 32 vertical lines in the middle (or one vertical line 32 columns wide)
mask(:, 113:144) = 1;
% create 30 other vertical lines at random:
idx_avail = 1:col; % column indexes available for the new random lines
idx_avail(113:144) = []; % don't allow random lines in the middle
% 30 random numbers chosen from idx_avail without repeats:
% randperm(N_avail,30) returns 30 unique integers between 1 and N_avail, inclusive
% then idx_avail(randperm(__)) converts those to indexes of columns of mask
N_avail = numel(idx_avail);
random_idx = idx_avail(randperm(N_avail,30));
% put the lines in place:
mask(:,random_idx) = 1;
figure, imshow(mask);
save("new-created-mask.mat", "mask");
  3 comentarios
Voss
Voss el 21 de Abr. de 2022
You're welcome!
Gulfam Saju
Gulfam Saju el 9 de Mayo de 2022
Hello! I want to create somthing just like the uploaded file. I want to create one like (data.train) of the sampling_pattern.mat file. Can you help?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Author Block Masks en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by