how to create columns in a image

5 views (last 30 days)
Ram
Ram on 9 Nov 2015
Commented: Image Analyst on 10 Nov 2015
i have more number of rows in an image so for equalizing with columns i need to add some columns can any one suggest .
  3 Comments
Ram
Ram on 9 Nov 2015
i am having empty rows & columns in which number of empty rows are more.I want to add some additional columns such that number of empty rows & empty columns are same.

Sign in to comment.

Accepted Answer

Image Analyst
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
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.

Sign in to comment.

More Answers (1)

Walter Roberson
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
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!