The purpose of code on programming

5 次查看(过去 30 天)
Hi.
I met a few questions when i watch this code
i seen the comment, but i have no idea why the picture produced like that.
i also confuse for the imageData=[imageData; imageRow]; i know the function of ";", but why it used in here?
% make a 2d array of values.
imageData=[]; % set up an empty array
imSize=100;
numRows=imSize;
numCols=imSize;
%populate using a nested loop
for row=[1:numRows]
imageRow=[]; %empty vector for row
for col=[1:numCols]
pixelVal=uint8((row+col)/(imSize*2) * 255); % make a pixel val in 0..255
imageRow=[imageRow pixelVal]; %add value for pixel
end
imageData=[imageData; imageRow]; % add row of pixels
end
% display as an image
imshow(imageData);
% save as an image
imwrite(imageData,'test.png');
% load an image
newImageData=imread('test.png');
% print information about what is stored in the variable
whos newImageData;

采纳的回答

Image Analyst
Image Analyst 2022-3-27
I'm not sure why you said "i know the function of ";", but why it used in here?"
In
imageData=[imageData; imageRow];
the first semicolon says that the rowVector imageRow is to be concatenated below the 3-D matrix imageData.
They're essentially building up the matrix row-by-row by appending the current row to the matrix they're building up.
The second semicolon tells it not to type the whole matrix -- all values of it -- to the command window.
  3 个评论
Image Analyst
Image Analyst 2022-3-27
That's the formula they're using to make the values go from 0 in the upper left to 255 in the lower right.
Shuoze Xu
Shuoze Xu 2022-3-27
I got it.
Thank you for your help.

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by