how to create new columns without losing image information
how to create columns in a image
10 views (last 30 days)
Show older comments
i have more number of rows in an image so for equalizing with columns i need to add some columns can any one suggest .
Accepted Answer
Image Analyst
on 9 Nov 2015
You can just assign some lower right row,column and it will extend the canvass to the right, and below with zeros:
grayImage = imread('cameraman.tif'); % Originally 256x256
size(grayImage) % Show size in command window.
% Expland image to be 400 by 600 by padding with zeros.
grayImage(400, 600) = 0;
imshow(grayImage);
size(grayImage) % Show size in command window.
Alternatively, if you want to expand the canvass on all sides, you can use padarray().
2 Comments
Image Analyst
on 10 Nov 2015
You must know, or be able to determine through some algorithm, the number of rows and columns. It can still be varying but in the end, they end up with some value, right? Like they might be 400x600 one time, and 480x640 the next time, but you still must know what they are. Even if you get random sizes by using randi(), you still know what they are.
More Answers (1)
Walter Roberson
on 9 Nov 2015
[r, c, ~] = size(YourImage);
if r > c
YourImage(r,r,:) = 0; %extend it with 0's
end
2 Comments
Guillaume
on 9 Nov 2015
You need to be clearer as to what is required then,
Walter's code will create additional columns. It also does not lose any information. It just adds columns of black.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!