2013-11-23 4 views
0

Я хочу mutiply 2 с каждым элементом vec3 в opencv, как это делается в Matlab simplet на.. *. Я искал alot, но не нашел никакой команды, это их команда для этого или нет в opencv? Заранее благодарю за любую помощь.как умножить скаляр на вектор в opencv

ответ

0

This ответ подсказывает, что вы можете просто использовать оператор присваивания * в C++.

Если вы используете Java, я не думаю, что это возможно, вы можете только умножить Mat на другой Mat.

Таким образом, вам нужно будет создать новый экземпляр Mat того же размера и типа, инициализированный скалярным значением, которое вы хотите размножить.

Вы можете легко создать несильно, чтобы сделать это:

public Mat multiplyScalar(Mat m, double i) 
{ 
    return m = m.mul(new Mat((int)m.size().height, (int)m.size().width, m.type(), new Scalar(i))); 
} 

Тогда x = multiplyScalar(x, 5); будет умножить каждый элемент на 5.

Смежные вопросы