cant add matrices of same dimensions

2 views (last 30 days)
im trying to add an image to a matrix of ones for which i have used the following code:
c=imread('C:\Users\Richik\Desktop\ima.png');
[x,y]=size(c)
m=ones(x,y);
g=m+c;
but even when the matrix dimensions are same,im getting this error:
??? Error using ==> plus
Matrix dimensions must agree.
i cant figure out why this is happening.....

Accepted Answer

Walter Roberson
Walter Roberson on 12 Oct 2015
Chances are that your PNG image is an RGB image and so is 3 dimensional. You should look at
s = size(c)
[x,y] = size(c)
and I think you will find that y is not equal to s(2). Read the documentation for size() to understand why not.
  4 Comments
Walter Roberson
Walter Roberson on 12 Oct 2015
A change of 1/256 in the brightness of an image is not necessarily going to be very noticeable, especially if you have not used a full 256 entry colormap
colormap(gray(256))

Sign in to comment.

More Answers (1)

Eng. Fredius Magige
Eng. Fredius Magige on 12 Oct 2015
Hi It has to follow its rule, and might be g=[m,c];
  1 Comment
Walter Roberson
Walter Roberson on 12 Oct 2015
That would, if it worked, append c after m, not add 1 to each element of c.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!