How to create Image/ multiple image from raw data in MATLAB
Afficher commentaires plus anciens
Hello everyone, I hope you are doing well. I have the dataset of shape 1x77564 .
I have write the following code which take first 1000 samples and convert it into image. but when i convert it into first 1000 some values not included in the image.
How can I create image which include all the values of 1x77564 in 1x1000 sample shape. Or How can i create mutliple image in single for loop
[row, column] = size(incomingdata);
for eachrow=1:row
if column==1000
outputdataset(eachrow,:)=incomingdata(eachrow,:);
else
targetsize = 1000;
sizeofincomingdata = column;
nrep = targetsize / sizeofincomingdata;
fullrep = floor(nrep);
leftover = targetsize - fullrep * sizeofincomingdata;
outputdataset(eachrow,:)=[repmat(incomingdata(eachrow,:), 1, fullrep), incomingdata(1:leftover)];
% outputdataset(eachrow,:)= dataset;
end
end
% dataDirectory = fullfile('C:\Users\DELL\Documents\MATLAB\Examples\R2021b\phased\ModClassificationOfRadarAndCommSignalsExample\NewDataset\DatasetGeneration\IncomingDataset');
% disp("Data file directory is " + dataDirectory);
%% create grayscale shapes that resemble the data
[numImages, lenImage] = size( outputdataset);
imSz = 1000; % assuming images are 1000x1000
imbg = false(10000,1000); % background "color"
imfg = ~imbg(1,1); % forground "color"
imSizeOut=[10000 1000]; % ImageSize
for k= 1:numImages
imData = round( outputdataset(k,:)); % get pattern
[~,Y] = meshgrid(1:1000,1:10000); % make a grid
% black and white image
BW = imbg;
BW(Y==imData)=imfg;
valueestimation=imbinarize(imresize(uint8(BW),imSizeOut));
% convert to uint8 (0 255)
valueestimationimage = im2uint8(valueestimation);
% resize (from 1000x1000)
SE=strel('disk',2);
BW=imdilate(BW,SE);
BW=imbinarize(imresize(uint8(BW),imSizeOut));
% convert to uint8 (0 255)
imoriginalestimate = im2uint8(BW);
imoriginal = flipud(imoriginalestimate);
3 commentaires
Image Analyst
le 10 Août 2022
What does each of the for loops do? How do you plan on getting a multiple of 10,000 by 1,000 2-D matrices from a 1x77564 1-D vector when it's not an integer multiple of 10 million?
Med Future
le 10 Août 2022
Modifié(e) : Med Future
le 11 Août 2022
Med Future
le 11 Août 2022
Réponses (0)
Catégories
En savoir plus sur Images dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!