How to multiply the following?

on 10 Sep 2012

Titus Edelhofer (view profile)

Considering an image I of any size. A mask of size 1X10. How to multiply those two?

Sivakumaran Chandrasekaran

Sivakumaran Chandrasekaran (view profile)

on 10 Sep 2012

a.*b... Most probably it should work

on 10 Sep 2012

I'm getting error

```??? Error using ==> times
Integers can only be combined with integers of the same class, or scalar doubles.
```
Jan Simon

Jan Simon (view profile)

on 10 Sep 2012

You cannot multiply a [MxNx3] array directly by a [1x10] vector. It is not clear what kind of output you expect for such a calculation.

Products

Titus Edelhofer (view profile)

on 10 Sep 2012

Hi,

```dblImage = double(yourImage);
```

Otherwise you might try to convert your mask to the same integer type as your image (by using uint8, ...).

Titus

Jan Simon

Jan Simon (view profile)

on 10 Sep 2012

Please post the relevant part of your code. Without the code and without an exact copy of the error message, we can only guess what's going on.

on 10 Sep 2012

This is my code. deg0 is 1X10 mask. threshImage is the input Image.

```for i=1:10
deg0(i) = 0.25;
end
deg0=cast(deg0,'uint8');
[rows columns] = size(threshImage);
for j = 1 : columns
for i= 1 : 10 : rows
filtImage0(i,j) = threshImage(i,j).*deg0;
end
end
```
Titus Edelhofer

Titus Edelhofer (view profile)

on 10 Sep 2012

Hi,

if you do it by loop, you need to index deg0 as well:

```filtImage0(i,j) = threshImage(i,j).*deg0(i);
```

or

```filtImage0(i,j) = threshImage(i,j).*deg0(j);
```

Titus

Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi