concatenating arrays and matrix

1 view (last 30 days)
Matpar
Matpar on 16 Aug 2019
Commented: Matpar on 17 Aug 2019
Hi all I trying to get a simple syntax to add this constant to image values
im=imread(im)
im=rgb2gray(im)
so now that im is now the gray scale image
i am try to add these values to the image
C1=[10,20,50,100]
Can profesional provide an example of how this is done in the simplest form using a for loop?
thank you in advance!!!
  7 Comments
Adam Danz
Adam Danz on 16 Aug 2019
Edited: Adam Danz on 16 Aug 2019
If your array is 5 x 5 you cannot concatenate a vector with only 4 elements!
Concatenation involves joining two arrays. Here are two examples.
% Horizontal concatenation
A = [1 2 3;
4 5 6];
B = [11 12 13;
14 15 16];
C = [A,B]
C =
1 2 3 11 12 13
4 5 6 14 15 16
% Vertical concatenation
C = [A; B]
C =
1 2 3
4 5 6
11 12 13
14 15 16
Notice that the size of A and B are equal in the dimensions being concatenated. Here's an example that would FAIL.
X = [1 2 3];
Y = [1 2 3 4];
Z = [X,Y]; % This works
Z2 = [X; Y]; % This doesn't work!
To learn more:
Matpar
Matpar on 17 Aug 2019
Hi adam, it couldn't be clearer than that!! I understood thanx! I will get on it now

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 16 Aug 2019
nd = ndims(YourImageArray);
Thresholded_arrays = bsxfun(@le, YourImageArray, reshape([50, 100, 150, 200], [ones(1,nd), 4]) );
Instead of @le you would use @plus
nd = ndims(YourImageArray);
Incremented_arrays = bsxfun(@plus, YourImageArray, reshape(uint8([50, 100, 150, 200]), [ones(1,nd), 4]) );
  5 Comments
Walter Roberson
Walter Roberson on 17 Aug 2019
C1 = [10,20,50,100];
numC1 = length(C1);
imrgb = imread(FILENAME);
imgray = rgb2gray(imrgb);
[r, c] = size(imgray);
output = zeros(r, c, numC1, class(imgray)); %probably it will be uint8
for C1idx = 1 : numC1
this_C1 = C1(C1idx);
output(:,:,C1idx) = imgray + this_C1;
end
Matpar
Matpar on 17 Aug 2019
ok i will try it! can you explain the output outside the forloop and inside the for loop? this what happens!! I understood everthing else and how do i make the code myself! i guess this comes with practice but I am willing to learn.
Walter! I must say you have loads of patience and experience!!! I will like to add how grateful I am for having you explain stuff for me in my mess of confusing concerning Matlab!
I am so thankful walter! thank you I appreciate you budz, really thanx much!

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!