How to create Image/ multiple image from raw data in MATLAB

1 view (last 30 days)
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 Comments
Med Future
Med Future on 10 Aug 2022
Edited: Med Future on 11 Aug 2022
@Image Analyst my image shape is 10,000 by 1000 so i will get 77 image with shape of 1x77564.
The for loop help in making this 77 images
Can you please tell me how to do that.
Med Future
Med Future on 11 Aug 2022
@Image Analyst Is there is any other method in which I get the same unique pattern in 1x1000 shape?

Sign in to comment.

Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!