How I can generate an image and modify it with Matlab?
118 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Kanika Gupta
2020-6-24
编辑:Kanika Gupta
2020-6-24
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 个评论
Kanika Gupta
2020-6-24
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
更多回答(1 个)
Image Analyst
2020-6-24
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!