How I can generate an image and modify it with Matlab?
120 views (last 30 days)
Show older comments
Hello,
Is it possible to generate an image with defined row and column numbers without going through the generation of a 2D matrix.
Usually, I created the image according to the following code :
A=3000*ones(200,200);
imwrite(A,['image' num2str(1) '.jp2']);
I want generate an image with 200 rows and 200 columns without generate the matrix A.
My second question, how can I modify an element (the value of a pixel) of an image?
Thank you!
0 Comments
Accepted Answer
Kanika Gupta
on 24 Jun 2020
Edited: Kanika Gupta
on 24 Jun 2020
Try using this to create a blank image of desired size
blankimage=zeros(200,200)
imshow(blankimage)
To change value at specific location simply do
blankimage(1,1)=255
2 Comments
Kanika Gupta
on 24 Jun 2020
The maximum size of array supported by Matlab is 10,000. This can be seen
home > preferences > workspace > maximum array size.
If you wish to use it for larger arrays, refer to https://www.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html
More Answers (1)
Image Analyst
on 24 Jun 2020
Use the uint16 option in ones to cut down the size by a factor of 4. If you use ones() without it, you're using floating point values and have 8 bytes instead of 2 bytes and uint16.
A = 3000 * ones(200, 200, 'uint16');
imwrite(A, 'image1.jp2');
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!