Shan
Shan

Reputation: 19243

Image component multiplication without using loops in MATLAB?

I have two RGB images, let's say A and B. Both have equal sizes with the dimension '(x,y,3)'. How do I multiply both images such that we take the dot product at every location and the result will be a matrix of size '(x,y) '?

For example, 'A(1,1,:)*transpose(B(1,1,:))'. With loops it is very slow.

Upvotes: 2

Views: 616

Answers (1)

abcd
abcd

Reputation: 42225

You can use MATLAB's inbuilt function dot. So to take the dot product along the third dimension, use

C=dot(A,B,3);

Upvotes: 5

Related Questions